PyQt5每天必学之带有标签的复选框

yipeiwu_com6年前Python基础

QCheckBox 是具有两种状态的控件:开和关。它是一个带有标签的复选框。复选框通常用于表示应用程序可以启用或禁用的功能。

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

"""
PyQt5 教程

在这个例子中,一个QCheckBox控件用于切换窗口的标题。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年8月3日
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
from PyQt5.QtCore import Qt

class Example(QWidget):

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

    self.initUI()

  def initUI(self):

    cb = QCheckBox('显示标题', self)
    cb.move(20, 20)
    cb.toggle()
    cb.stateChanged.connect(self.changeTitle)

    self.setGeometry(300, 300, 250, 150)
    self.setWindowTitle('复选框')    
    self.show()

  def changeTitle(self, state):

    if state == Qt.Checked:
      self.setWindowTitle('复选框')
    else:
      self.setWindowTitle('')

if __name__ == '__main__':

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

在我们的例子中,我们将创建一个复选框进行窗口标题的切换。

cb = QCheckBox('显示标题', self)

用QCheckBox 创建复选框

cb.toggle()

创建复选框时已经设置了控件的标题。默认情况下,复选框是不被选中的。toggle是设置复选框默认为选中。

cb.stateChanged.connect(self.changeTitle)

复选框的状态更改stateChanged信号连接到changeTitle方法(槽)。

def changeTitle(self, state):

    if state == Qt.Checked:
      self.setWindowTitle('复选框')
    else:
      self.setWindowTitle('')

复选框控件的状态改变传递给changeTitle方法的参数state。如果复选框控件被选中,设置窗口的标题。否则,我们设置一个空字符串的标题栏。(空标题时Python会将标题定义成Python)

程序执行后

这里写图片描述 这里写图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python基础教程之序列详解

sequence 序列 sequence(序列)是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素) 序列可以包含一个或多个元素,也可以没有...

python线程中同步锁详解

在使用多线程的应用下,如何保证线程安全,以及线程之间的同步,或者访问共享变量等问题是十分棘手的问题,也是使用多线程下面临的问题,如果处理不好,会带来较严重的后果,使用python多线程中...

django框架之cookie/session的使用示例(小结)

一、http协议无状态问题 http协议没有提供多次请求之间的关联功能,协议的本意也并未考虑到多次请求之间的状态维持,每一次请求都被协议认为是一次性的。但在某些场景下,如一次登录多次访问...

深入理解python中的select模块

简介 Python中的select模块专注于I/O多路复用,提供了select  poll  epoll三个方法(其中后两个在Linux中可用,windows仅支持s...

python实现的简单FTP上传下载文件实例

本文实例讲述了python实现的简单FTP上传下载文件的方法。分享给大家供大家参考。具体如下: python本身自带一个FTP模块,可以实现上传下载的函数功能。 #!/usr/bin...