PyQt QComboBox 小部件

PyQt QComboBox 小部件

一个 QComboBox 对象呈现了一个下拉列表供选择。它在表单上只占用所需的最小屏幕空间,仅显示当前选择的项目。

Combo box 可以被设置为可编辑的;它还可以存储 pixmap 对象。以下方法通常被使用 −

下面是 QComboBox 的最常用的方法。

编号 方法与描述
1 addItem() 向集合中添加字符串
2 addItems() 向列表对象中添加项
3 Clear() 删除集合中的所有项
4 count() 检索集合中的项数
5 currentText() 检索当前选择项的文本
6 itemText() 显示特定索引所属的文本
7 currentIndex() 返回所选项的索引
8 setItemText() 更改指定索引的文本

QComboBox 信号

序号 方法及描述
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 PyQt4.QtCore import *
from PyQt4.QtGui 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()

上面的代码产生以下输出:

PyQt QComboBox 小部件

列表中的项目包括:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程