相关文章推荐
阳光的木耳  ·  QApplication.processEv ...·  2 周前    · 
潇洒的猴子  ·  pyqt5 ...·  6 天前    · 
傲视众生的乌冬面  ·  pyqt5 ...·  8 月前    · 
机灵的皮带  ·  如何在 Pandas Dataframe ...·  1 年前    · 
性感的西装  ·  Java-jacob-Word/Excel转 ...·  1 年前    · 

QComboBox是一个集按钮和下拉选项于一体的控件,也称做下拉列表框

QComboBox类中的常用方法如表

方法 描述
addItem() 添加一个下拉选项
addItems() 从列表中添加下拉选项
clear() 删除下拉选项集合中的所有选项
count() 返回下拉选项集合中的数目
currentText() 返回选中选项的文本
itemText(i) 获取索引为i的item的选项文本
currentIndex() 返回选中项的索引
setItemText(int index,text) 改变序列号为index的文本

QComboBox类中的常用信号

信号 含义
Activated 当用户选中一个下拉选项时发射该信号
currentIndexChanged 当下拉选项的索引发生改变时发射该信号
highlighted 当选中一个已经选中的下拉选项时,发射该信号

实例:QComboBox按钮的使用

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class ComboxDemo(QWidget):
    def __init__(self,parent=None):
        super(ComboxDemo, self).__init__(parent)
        #设置标题
        self.setWindowTitle('ComBox例子')
        #设置初始界面大小
        self.resize(300,90)
        #垂直布局
        layout=QVBoxLayout()
        #创建标签,默认空白
        self.btn1=QLabel('')
        #实例化QComBox对象
        self.cb=QComboBox()
        #单个添加条目
        self.cb.addItem('C')
        self.cb.addItem('C++')
        self.cb.addItem('Python')
        #多个添加条目
        self.cb.addItems(['Java','C#','PHP'])
        #当下拉索引发生改变时发射信号触发绑定的事件
        self.cb.currentIndexChanged.connect(self.selectionchange)
        #控件添加到布局中,设置布局
        layout.addWidget(self.cb)
        layout.addWidget(self.btn1)
        self.setLayout(layout)
    def selectionchange(self,i):
        #标签用来显示选中的文本
        #currentText():返回选中选项的文本
        self.btn1.setText(self.cb.currentText())
        print('Items in the list are:')
        #输出选项集合中每个选项的索引与对应的内容
        #count():返回选项集合中的数目
        for count in range(self.cb.count()):
            print('Item'+str(count)+'='+self.cb.itemText(count))
            print('current index',i,'selection changed',self.cb.currentText())
if __name__ == '__main__':
    app=QApplication(sys.argv)
    comboxDemo=ComboxDemo()
    comboxDemo.show()
    sys.exit(app.exec_())

效果图如下
这里写图片描述

代码分析:

在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有几个选项,既可以使用QCombobox的addItem()方法添加单个选项,也可以使用addItems()方法添加多个选项:标签显示的是从下拉列表框中选择的选项

		#单个添加条目
        self.cb.addItem('C')
        self.cb.addItem('C++')
        self.cb.addItem('Python')
        #多个添加条目
        self.cb.addItems(['Java','C#','PHP'])

当下拉列表框选中的选项发生改变时将发射currentIndexChanged信号,链接到自定义的槽函数selectionChange()

self.cb.currentIndexChanged.connect(self.selectionchange)

在方法中,当选中下拉列表框中的一个选项时,将把该选项文本设置为标签的文本,并调整标签的大小

    def selectionchange(self,i):
        #标签用来显示选中的文本
        #currentText():返回选中选项的文本
        self.btn1.setText(self.cb.currentText())
                    QComboBoxQComboBox是一个集按钮和下拉选项于一体的控件,也称做下拉列表框QComboBox类中的常用方法如表  方法  描述  addItem()  添加一个下拉选项  addItems()  从列表中添加下拉选项  Clear()  删除下拉选项集合中的所有选项  count()  返回下拉选项集合中的数目  cur...
				
QMessageBox QmessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈,每个标准按钮有一个预定义的文本,角色和十六进制数QMessageBox类提供了许多常用的弹出式对话框,如提示。警告,错误,询问等会话框,不同类型的QMessageBox对话框只是显示的图标不同,其它的功能是一样。 1.常用方法
使用pyqt5编写的程序,在QTableWidget插入QComboBox控件并获取控件值 第一步:原理 QTableWidget是Qt程序中常用的显示数据表格的控件,其单元数据是通过QTableWidgetItem对象来实现的,使用QTableWidget时就需要QTableWidgetItem。整个表格就是用各个单元格构建起来的。 本程序在QTableWidget控件单元格中插入QTableWidgetItem,QComboBox控件,并可以修改单元格的不同值。通过控件提供的函数及循环,还可以遍历获取到
QComboBoxQComboBox类是集按钮和下拉菜单于一体,下拉列表框。在占用最小屏幕空间的情况下为用户提供一个下拉菜单选项,在显示当前选项的同时还弹出一系列可选择的项目。也可以编辑ComboBox。
从零开始学Pyqt5之【控件介绍】(7):QComboBox下拉框列表控件QComboBox控件的作用QCheckButton控件常用方法QCheckButton控件常用信号代码示例 QComboBox控件的作用 QcomcoBox控件通常用作下拉框选项,用于选择某个选项类别。 QCheckButton控件常用方法 QCheckButton控件常用信号 # -*- coding: utf-8 -*- import sys from PyQt5.QtCore import * from PyQt
定义:组合框QComboBox其实就是把一个编辑框和一个列表框组合到了一起。 组合框控件相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件。它为我们的日常操作提供了很多方便。 QComboBox 中addItem("")添加单个选项; addItems(列表)添加多个选项; 例如:下面实现省市级联效果如下 #QComboBox下拉列表控件使用,省市级联 from PyQt5.QtWidgets import QPushBut
```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.lbl = QLabel(self) self.lbl.setText('请输入你的名字:') self.lbl.move(50, 30) self.qle = QLineEdit(self) self.qle.move(50, 50) self.btn = QPushButton('打招呼', self) self.btn.move(50, 80) self.btn.clicked.connect(self.greet) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('示例') self.show() def greet(self): name = self.qle.text() self.lbl.setText(f'你好,{name}!') if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) 这个示例代码展示了如何使用 PyQt5 创建一个简单的窗口,包括标签、文本框和按钮,当用户点击按钮时,程序会根据用户输入的名字显示一条问候语。