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连接mysql数据库示例(做增删改操作)
Dec 31 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
Python实现找出数组中第2大数字的方法示例
Mar 26 Python
python微信公众号之关键词自动回复
Jun 15 Python
Python3.5 Pandas模块之DataFrame用法实例分析
Apr 23 Python
Python深拷贝与浅拷贝用法实例分析
May 05 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 Python
python怎么对数字进行过滤
Jul 05 Python
Python使用windows设置定时执行脚本
Nov 12 Python
pycharm代码删除恢复的方法
Jun 26 Python
详解Golang如何实现支持随机删除元素的堆
Sep 23 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编写一个简单的路由类
2011/04/13 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
php实现将Session写入数据库
2015/07/26 PHP
javascript 框架小结 个人工作经验
2009/06/13 Javascript
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
JS实现图片幻灯片效果代码实例
2020/05/21 Javascript
Python程序设计入门(1)基本语法简介
2014/06/13 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
python3爬取torrent种子链接实例
2020/01/16 Python
python实现批量修改文件名
2020/03/23 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
自我评价200字分享
2013/12/17 职场文书
远程教育心得体会
2014/01/03 职场文书
踏青活动策划方案
2014/08/19 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang