欢迎访问宙启技术站
智能推送

使用PyQt4.QtCore.QtHorizontal()创建水平方向的按钮组

发布时间:2023-12-27 15:09:34

在PyQt4中,可以使用QButtonGroup类来创建按钮组,并使用QButtonGroup.addButton()方法将按钮添加到按钮组中。你可以使用setExclusive(bool)方法来设置按钮组是否为互斥模式,即只能选择一个按钮。水平方向的按钮组可以使用QHBoxLayout布局来实现。

下面是一个使用QButtonGroup创建水平方向按钮组的例子:

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):

        hbox = QtGui.QHBoxLayout()

        self.buttonGroup = QtGui.QButtonGroup()

        self.button1 = QtGui.QPushButton('Button 1')
        self.button2 = QtGui.QPushButton('Button 2')
        self.button3 = QtGui.QPushButton('Button 3')

        self.buttonGroup.addButton(self.button1)
        self.buttonGroup.addButton(self.button2)
        self.buttonGroup.addButton(self.button3)

        hbox.addWidget(self.button1)
        hbox.addWidget(self.button2)
        hbox.addWidget(self.button3)

        self.setLayout(hbox)

        # 设置按钮组为互斥模式
        self.buttonGroup.setExclusive(True)

        # 监听按钮组的按钮被点击事件
        self.buttonGroup.buttonClicked[int].connect(self.buttonClicked)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Button Group Example')
        self.show()

    def buttonClicked(self, id):

        button = self.buttonGroup.button(id)
        print('Button "{0}" clicked'.format(button.text()))


def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

以上代码创建了一个窗口,并在窗口中创建了一个水平方向的按钮组。按钮组的按钮被添加到了水平布局中。通过设置按钮组为互斥模式,只能选择一个按钮。每次按钮被点击时,buttonClicked方法会被调用,并打印被点击按钮的文本。

运行这段代码,将会看到一个含有3个按钮的窗口。当点击其中一个按钮时,会在控制台输出相应的信息。

这是一个简单的使用QButtonGroup创建水平方向按钮组的例子。通过该例子,你可以学会如何使用PyQt4来创建和管理按钮组,并监听按钮组的点击事件。这将帮助你创建更复杂的界面和交互逻辑。