大家好。
我想请教一下,在PyQt里用循环+列的方法生成的包含QchckBox的QGroupBox,如何在程序中使用它们。
这是我的代码,和两个问题。
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (QApplication, QCheckBox, QGridLayout, QGroupBox, QLabel, QPushButton, QRadioButton, QVBoxLayout, QWidget)
list_food = ["Pizza", "Taco", "Burrito"]
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setWindowTitle("PyQt5 Group Box")
self.resize(400, 300)
self.groupBox = QGroupBox("Best Food")
# Checkbox layout
self.vbox = QVBoxLayout()
for i in range(len(list_food)):
self.cbx = QCheckBox(list_food[i])
self.vbox.addWidget(self.cbx)
self.cbx.stateChanged.connect(self.change_food)
#cbx1.setChecked(True) #问题一:如何默认选定列中的第一项?
self.lbl_result = QLabel("food now is/are: " + "")
self.vbox.addWidget(self.lbl_result)
self.groupBox.setLayout(self.vbox)
# vertical box layout
self.vlayout = QVBoxLayout()
self.vlayout.addWidget(self.groupBox)
self.vlayout.addStretch()
self.setLayout(self.vlayout)
def change_food(self):
self.lbl_result.setText("you changed food to: " + "") #问题二,如何读取选定的CheckBox?
if __name__ == '__main__':
app = QApplication(sys.argv)
clock = Window()
clock.show()
sys.exit(app.exec_())
总结一下我的问题是:
一,如何使某个CheckBox默认选定?
二,如何在在程序的其它地方,使用CheckBox的更改?
初学者的问题。谢谢各位!
(另:我在全网都没有找到我这样的问题?是我没找到还是因为太简单了?)