PyQt5基本控件使用详解:单选按钮、复选框、下拉框


Posted in Python onAugust 05, 2019

本文主要介绍PyQt5界面最基本使用的单选按钮、复选框、下拉框三种控件的使用方法进行介绍。

1、RadioButton单选按钮/CheckBox复选框。需要知道如何判断单选按钮是否被选中。

2、ComboBox下拉框。需要知道如何对下拉框中的取值进行设置以及代码实现中如何获取用户选中的值。

带着这些问题下面开始介绍这 RadioButton单选按钮、CheckBox复选框、 ComboBox下拉框 三种基本控件的使用方法

QRadioButton单选按钮

单选按钮为用户提供 多选一 的选择,是一种开关按钮。QRadioButton单选按钮是否选择状态通过isChecked()方法判断。isChecked()方法返回值True表示选中,False表示未选中。

RadioButton示例完整代码如下:

# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox, QRadioButton
class Ui_Form(object):
 def setupUi(self, Form):
  Form.setObjectName("Form")
  Form.resize(309, 126)
  self.radioButton = QtWidgets.QRadioButton(Form)
  self.radioButton.setGeometry(QtCore.QRect(70, 40, 89, 16))
  self.radioButton.setObjectName("radioButton")
  self.okButton = QtWidgets.QPushButton(Form)
  self.okButton.setGeometry(QtCore.QRect(70, 70, 75, 23))
  self.okButton.setObjectName("okButton")
  self.retranslateUi(Form)
  QtCore.QMetaObject.connectSlotsByName(Form)
 def retranslateUi(self, Form):
  _translate = QtCore.QCoreApplication.translate
  Form.setWindowTitle(_translate("Form", "RadioButton单选按钮例子"))
  self.radioButton.setText(_translate("Form", "单选按钮"))
  self.okButton.setText(_translate("Form", "确定"))
class MyMainForm(QMainWindow, Ui_Form):
 def __init__(self, parent=None):
  super(MyMainForm, self).__init__(parent)
  self.setupUi(self)
  self.okButton.clicked.connect(self.checkRadioButton)
 def checkRadioButton(self):
  if self.radioButton.isChecked():
   QMessageBox.information(self,"消息框标题","我RadioButton按钮被选中啦!",QMessageBox.Yes | QMessageBox.No)
if __name__ == "__main__":
 app = QApplication(sys.argv)
 myWin = MyMainForm()
 myWin.show()
 sys.exit(app.exec_())

运行结果如下:

PyQt5基本控件使用详解:单选按钮、复选框、下拉框

关键代码介绍:

self.radioButton.isChecked() --> 用于判断RadioButton控件是否被选中。返回值Trule表示按钮被选中,False表示按钮未选中。

QCheckBox复选框

复选框和单选按钮一样都是选项按钮,区别是复选框为用户提供 多选多 的选择。复选框按钮同样是使用isChecked()方法判断是否被选中。

CheckBox例子完整代码如下:

# -*- coding: utf-8 -*-

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox, QCheckBox

class Ui_Form(object):
 def setupUi(self, Form):
  Form.setObjectName("Form")
  Form.resize(380, 154)
  self.freshcheckBox = QtWidgets.QCheckBox(Form)
  self.freshcheckBox.setGeometry(QtCore.QRect(50, 40, 71, 31))
  font = QtGui.QFont()
  font.setPointSize(14)
  self.freshcheckBox.setFont(font)
  self.freshcheckBox.setObjectName("freshcheckBox")
  self.bearcheckBox = QtWidgets.QCheckBox(Form)
  self.bearcheckBox.setGeometry(QtCore.QRect(140, 40, 71, 31))
  font = QtGui.QFont()
  font.setPointSize(14)
  self.bearcheckBox.setFont(font)
  self.bearcheckBox.setObjectName("bearcheckBox")
  self.okButton = QtWidgets.QPushButton(Form)
  self.okButton.setGeometry(QtCore.QRect(230, 40, 71, 31))
  font = QtGui.QFont()
  font.setPointSize(14)
  self.okButton.setFont(font)
  self.okButton.setObjectName("okButton")

  self.retranslateUi(Form)
  QtCore.QMetaObject.connectSlotsByName(Form)

 def retranslateUi(self, Form):
  _translate = QtCore.QCoreApplication.translate
  Form.setWindowTitle(_translate("Form", "CheckBox例子"))
  self.freshcheckBox.setText(_translate("Form", "鱼"))
  self.bearcheckBox.setText(_translate("Form", "熊掌"))
  self.okButton.setText(_translate("Form", "确定"))
class MyMainForm(QMainWindow, Ui_Form):
 def __init__(self, parent=None):
  super(MyMainForm, self).__init__(parent)
  self.setupUi(self)
  self.okButton.clicked.connect(self.checkCheckBox)
 def checkCheckBox(self):
  if self.freshcheckBox.isChecked() and self.bearcheckBox.isChecked():
   QMessageBox.information(self,"消息框标题","鱼和熊掌我要兼得!",QMessageBox.Yes | QMessageBox.No)
if __name__ == "__main__":
 app = QApplication(sys.argv)
 myWin = MyMainForm()
 myWin.show()
 sys.exit(app.exec_())

运行结果如下:

PyQt5基本控件使用详解:单选按钮、复选框、下拉框

关键代码介绍:

self.freshcheckBox.isChecked() and self.bearcheckBox.isChecked() --> 同样适用isChecked()函数判断。

QComboBox下拉列表框

下拉列表框是一个集按钮和下拉选项于一体的控件。通常用于固定的枚举值供用户选择时使用。对于下拉列表框的使用最基本的是要知道如何添加下拉列表框中的值以及如何获取下拉框中选择的值。

(1) 如何添加下拉列表框中的值。

1、使用addItem() 添加一个下拉选项或者additems() 从列表中添加下拉选项 方法进行添加。

2、如果使用Qt Designer画图实现,可以将ComboBox控件添加到主界面后双击下拉列表框进行打开添加。如下:

PyQt5基本控件使用详解:单选按钮、复选框、下拉框

(2)如何获取下拉框中的取值

使用函数currentText() 返回选项中的文本进行获取

ComboBox示例完整代码如下:

# -*- coding: utf-8 -*-

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox, QComboBox

class Ui_Form(object):
 def setupUi(self, Form):
  Form.setObjectName("Form")
  Form.resize(400, 130)
  self.comboBox = QtWidgets.QComboBox(Form)
  self.comboBox.setGeometry(QtCore.QRect(80, 50, 69, 22))
  self.comboBox.setObjectName("comboBox")
  self.comboBox.addItem("")
  self.comboBox.addItem("")
  self.comboBox.addItem("")
  self.comboBox.addItem("")
  self.okButton = QtWidgets.QPushButton(Form)
  self.okButton.setGeometry(QtCore.QRect(190, 50, 75, 23))
  self.okButton.setObjectName("okButton")

  self.retranslateUi(Form)
  QtCore.QMetaObject.connectSlotsByName(Form)

 def retranslateUi(self, Form):
  _translate = QtCore.QCoreApplication.translate
  Form.setWindowTitle(_translate("Form", "ComboBox下拉框例子"))
  self.comboBox.setItemText(0, _translate("Form", "Python"))
  self.comboBox.setItemText(1, _translate("Form", "C++"))
  self.comboBox.setItemText(2, _translate("Form", "Go"))
  self.comboBox.setItemText(3, _translate("Form", "Java"))
  self.okButton.setText(_translate("Form", "确定"))

class MyMainForm(QMainWindow, Ui_Form):
 def __init__(self, parent=None):
  super(MyMainForm, self).__init__(parent)
  self.setupUi(self)
  self.okButton.clicked.connect(self.getComboxBoxValue)

 def getComboxBoxValue(self):
  select_value = self.comboBox.currentText()
  QMessageBox.information(self,"消息框标题","你要学%s,为师给你说道说道!" % (select_value,),QMessageBox.Yes | QMessageBox.No)

if __name__ == "__main__":
 app = QApplication(sys.argv)
 myWin = MyMainForm()
 myWin.show()
 sys.exit(app.exec_())

运行结果如下:

PyQt5基本控件使用详解:单选按钮、复选框、下拉框

关键代码介绍:

select_value = self.comboBox.currentText() --> 使用currentText()函数获取下拉框中选择的值

小结

  RadioButton单选按钮、CheckBox复选框、 ComboBox下拉框三种基本控件 的使用方法介绍完了。本文中的内容和实例也基本回答了开篇提到的问题。这三种基本控件的使用简单但也很频繁。可以多动手实践一下。上文中的程序都可以直接运行。可以运行看看效果。

总结

以上所述是小编给大家介绍的PyQt5基本控件使用详解:单选按钮、复选框、下拉框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
讲解Python中的递归函数
Apr 27 Python
python实现根据ip地址反向查找主机名称的方法
Apr 29 Python
python中input()与raw_input()的区别分析
Feb 27 Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
python 多线程对post请求服务器测试并发的方法
Jun 13 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
python将类似json的数据存储到MySQL中的实例
Jul 12 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
python中shell执行知识点
May 06 Python
Python中Qslider控件实操详解
Feb 20 Python
详解python字符串驻留技术
May 21 Python
用django设置session过期时间的方法解析
Aug 05 #Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 #Python
Python中typing模块与类型注解的使用方法
Aug 05 #Python
Python及Pycharm安装方法图文教程
Aug 05 #Python
python redis连接 有序集合去重的代码
Aug 04 #Python
Django中URL的参数传递的实现
Aug 04 #Python
Python 操作 ElasticSearch的完整代码
Aug 04 #Python
You might like
php 无法载入mysql扩展
2010/03/12 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
在vs2010中调试javascript代码方法
2011/02/11 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
jquery代码实现简单的随机图片瀑布流效果
2015/04/20 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
Ajax中解析Json的两种方法对比分析
2015/06/25 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
举例讲解Python中的算数运算符的用法
2015/05/13 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
Python子类继承父类构造函数详解
2019/02/19 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
教学实习自我评价
2014/01/28 职场文书
高三学生评语大全
2014/04/25 职场文书
2014年超市工作总结
2014/11/19 职场文书
户外拓展训练感想
2015/08/07 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS