账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Python + PyQt5:用循环+列的方法生成的QGroupBox,如何使用它们?
    67
    0

    大家好。
    我想请教一下,在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的更改?

    初学者的问题。谢谢各位!

    (另:我在全网都没有找到我这样的问题?是我没找到还是因为太简单了?)

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部