PyQt5 QComboBox小工具

PyQt5 QComboBox小工具

一个 QComboBox 对象展示了一个可供选择的下拉列表。它在窗体上占用最小的屏幕空间,只显示当前选择的项目。

一个ComboBox可以被设置为可编辑的;它也可以存储像素图对象。以下是常用的方法

序号 方法和描述
1 addItem() 将字符串添加到集合中。
2 addItems() 在一个列表对象中添加项目
3 Clear() 删除集合中的所有项目
4 count() 检索集合中的项目数
5 currentText() 读取当前所选项目的文本
6 itemText() 显示属于特定索引的文本
7 currentIndex() 返回所选项目的索引
8 setItemText() 改变指定索引的文本

QComboBox信号

以下是QComboBox信号中常用的方法-

序号 方法和描述
1 activated() 当用户选择了一个项目时
2 currentIndexChanged() 每当当前索引被用户或程序性地改变时
3 highlighted() 当列表中的一个项目被突出显示时

例子

让我们看看QComboBox小组件的一些功能是如何在下面的例子中实现的。

项目通过addItem()方法被单独添加到集合中,或者通过 addItems() 方法 添加 到列表对象中。

self.cb.addItem("C++")
self.cb.addItems(["Java", "C#", "Python"])

QComboBox对象会发出currentIndexChanged()信号。它与 selectionchange() 方法相连。

组合框中的项目用itemText()方法列出,每个项目都是如此。属于当前所选项目的标签由 currentText() 方法访问。

def selectionchange(self,i):
   print "Items in the list are :"

   for count in range(self.cb.count()):
      print self.cb.itemText(count)
   print "Current index",i,"selection changed ",self.cb.currentText()

整个代码如下-

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class combodemo(QWidget):
   def __init__(self, parent = None):
      super(combodemo, self).__init__(parent)

      layout = QHBoxLayout()
      self.cb = QComboBox()
      self.cb.addItem("C")
      self.cb.addItem("C++")
      self.cb.addItems(["Java", "C#", "Python"])
      self.cb.currentIndexChanged.connect(self.selectionchange)

      layout.addWidget(self.cb)
      self.setLayout(layout)
      self.setWindowTitle("combo box demo")

   def selectionchange(self,i):
      print "Items in the list are :"

      for count in range(self.cb.count()):
         print self.cb.itemText(count)
      print "Current index",i,"selection changed ",self.cb.currentText()

def main():
   app = QApplication(sys.argv)
   ex = combodemo()
   ex.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   main()

输出

上述代码产生了以下输出 –

PyQt5 - QComboBox小工具

列表中的项目是 –

C
C++
Java
C#
Python
Current selection index 4 selection changed Python

pyqt_basic_widgets.htm

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程