zoukankan      html  css  js  c++  java
  • 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()

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

  • 相关阅读:
    (转) 网络游戏程序员须知 基础概念篇(游戏同步)
    (转) 网络游戏实时动作同步方案手记
    (转)Unity3d中的碰撞检测
    在Hadoop1.2.1上运行第一个Hadoop程序FileSystemCat
    shell小工具查看Hadoop中System.out输出的日志
    配置Hadoop1.2.1
    Linux下出现command not found的解决办法
    hadoop在子节点上没有datanode进程
    Hadoop常用命令
    hadoop下载地址
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5357004.html
Copyright © 2011-2022 走看看