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实现的文件夹清理程序分享
Nov 22 Python
Python自动化构建工具scons使用入门笔记
Mar 10 Python
Python中关于字符串对象的一些基础知识
Apr 08 Python
Python文件处理
Feb 29 Python
python套接字流重定向实例汇总
Mar 03 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
python中类的属性和方法介绍
Nov 27 Python
python3 http提交json参数并获取返回值的方法
Dec 19 Python
详解python校验SQL脚本命名规则
Mar 22 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
Oct 06 Python
tensorflow常用函数API介绍
Apr 19 Python
Python Django ORM连表正反操作技巧
Jun 13 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
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
PHP迭代器的内部执行过程详解
2013/11/12 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
thinkPHP查询方式小结
2016/01/09 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
python发腾讯微博代码分享
2014/01/10 Python
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
python时间日期操作方法实例小结
2020/02/06 Python
解决c++调用python中文乱码问题
2020/07/29 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
Myprotein加拿大官网:欧洲第一的运动营养品牌
2018/01/06 全球购物
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
个人投资合作协议书
2014/10/12 职场文书
裁员通知
2015/04/25 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
Python实现信息管理系统
2022/06/05 Python