PyQt4单选框QCheckBox

Posted 月光诗人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt4单选框QCheckBox相关的知识,希望对你有一定的参考价值。

PyQt4中的部件

部件是构建应用程序的基础元素。PyQt4工具包拥有大量的种类繁多的部件。比如:按钮,单选框,滑块,列表框等任何程序员在完成其工作时需要的部件。

QCheckBox单选框

单选框具有两个状态:被选中或未被选中。它看起来像一个附加了附件的标签。当用户选择或取消选择时,单选框就会发送一个stateChanged()信号。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore 

class CheckBox(QtGui.QWidget):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self, parent)
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle(\'Checkbox\')
        self.cb = QtGui.QCheckBox(\'Show title\', self)
        self.cb.setFocusPolicy(QtCore.Qt.NoFocus)
        self.cb.move(10, 10)
        self.cb.toggle()
        self.connect(self.cb, QtCore.SIGNAL(\'stateChanged(int)\'), self.changeTitle)
        
    def changeTitle(self, value):
        if self.cb.isChecked():
            self.setWindowTitle(\'Checkbox\')
        else:
            self.setWindowTitle(\'Unchecked\')

app = QtGui.QApplication(sys.argv)
cb = CheckBox()
cb.show()
sys.exit(app.exec_())

效果:

在本示例中,我们创建了一个用来改变窗口标题的单选框。

        self.cb = QtGui.QCheckBox(\'Show title\', self)

该语句用来创建一个标签信息为\'Show Tile\'的单选框。

        self.connect(self.cb, QtCore.SIGNAL(\'stateChanged(int)\'), self.changeTitle)

这里我们将用户定义的changeTitle()函数与单选框的stateChanged()信号连接起来。自定义的changeTitle()函数将重置窗口的标题。

        self.cb.setFocusPolicy(QtCore.Qt.NoFocus)

默认情况下单选框接受聚焦,被聚焦的表现形式为单选框的标签被一个薄薄的矩形所覆盖。这个矩形看起来有些太过严肃,所以我们使用以上代码将单选框的聚焦样式修改为Qt.NoFocus的无聚焦样式。

        self.cb.toggle()

初始状态下我们设置了窗口的标题,因此我们需要使用以上代码行将单选框选上。在默认情况下,单选框时未被选中的。

以上是关于PyQt4单选框QCheckBox的主要内容,如果未能解决你的问题,请参考以下文章

PyQt4 - QLineEdit() 和 QCheckbox()

Qt QCheckBox QRadioButton

在 pyQt4 中 QCheckBox 的 clicked() 和 stateChanged() 信号有啥区别?

QCheckbox的用法

使用 pyqt4 创建类信号

如何设置才能不显示QCheckBox自带的复选框呢