1. 程式人生 > 其它 >5.7 QCheckBox複選框按鈕控制元件

5.7 QCheckBox複選框按鈕控制元件

一、QCheckBox複選框按鈕控制元件

1.基本知識

#可以設定三種可能性
btn.setCheckState(Qt.Unchecked)  #未選擇
btn.setCheckState(Qt.PartiallyChecked) #兩種狀態之間
btn.setCheckState(Qt.Checked)  #選擇

# toggled 是指選中狀態之後有沒有發生切換,返會兩種結果T  F
# btn.toggled.connect(lambda isChecked:print(isChecked))
btn.stateChanged.connect(lambda state : print(state)) #狀態改變訊號 0 1 2

2.程式碼

from PyQt5.Qt import *
import sys

app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle('QCheckBox-複選框 - PyQt5中文網')
window.resize(600, 450)
window.move(300, 300)

btn = QCheckBox('PyQt5', window)
btn.move(60, 60)
btn.resize(100, 50)
btn.setStyleSheet('background-color:green')
# ==============QCheckBox多選框三態設定=============== # 程式碼分割線 - 開始
btn.setTristate(True)  # 設定三態 介於選擇和未選擇之間 看效果
# 設定複選框狀態
# btn.setChecked(True)  # 這個只能設定兩種狀態
#可以設定三種可能性
btn.setCheckState(Qt.Unchecked)  #未選擇
btn.setCheckState(Qt.PartiallyChecked) #兩種狀態之間
btn.setCheckState(Qt.Checked)  #選擇
# ==============QCheckBox多選框三態設定=============== # 程式碼分割線 - 結束

# ==============QCheckBox訊號=============== # 程式碼分割線 - 開始
# toggled 是指選中狀態之後有沒有發生切換,返會兩種結果T  F
# btn.toggled.connect(lambda isChecked:print(isChecked))
btn.stateChanged.connect(lambda state : print(state)) #狀態改變訊號 0 1 2
# ==============QCheckBox訊號=============== # 程式碼分割線 - 結束

window.show()
sys.exit(app.exec_())

3.效果