PyQt5 – QComboBox小工具

PyQt5 – QComboBox小工具

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

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

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

QComboBox信号

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

Sr.No. 方法和描述
1 activated() 当用户选择了一个项目时
2 currentIndexChanged() 每当用户或以编程方式改变当前索引时
3 highlighted() 当列表中的一个项目被高亮显示时

示例

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

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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程