当前位置: 首页 > 文档资料 > PyQt 中文教程 >

QComboBox

优质
小牛编辑
133浏览
2023-12-01

QComboBox对象显示可供选择的项目的下拉列表。 只需要显示当前所选项目所需的表单上的最小屏幕空间。

可以将组合框设置为可编辑; 它还可以存储像素图对象。 通常使用以下方法 -

Sr.No.方法和描述
1

addItem()

将字符串添加到集合中

2

addItems()

在列表对象中添加项目

3

Clear()

删除集合中的所有项目

4

count()

检索集合中的项目数

5

currentText()

检索当前所选项目的文本

6

itemText()

显示属于特定索引的文本

7

currentIndex()

返回所选项的索引

8

setItemText()

更改指定索引的文本

QComboBox信号

Sr.No.方法和描述
1

activated()

当用户选择项目时

2

currentIndexChanged()

每当用户或编程方式更改当前索引时

3

highlighted()

当列表中的项目突出显示时

例子 (Example)

让我们看看如何在以下示例中实现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()

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

QComboBox小部件输出

列表中的项目是 -

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