QT5的下拉列表实现及信号与槽的连接

本文介绍了如何在QT5中使用QComboBox创建和操作下拉框,包括通过addItems添加选项,利用currentIndexChanged信号和槽函数响应选择变化,以及获取当前选中项的文本内容。示例代码展示了如何实现当选择改变时更新标签显示并打印相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们经常在使用QT5的时候需要使用到下拉框, 这里精简的介绍下拉框的实现

主要知识点

  • QComboBox() 创建一个下拉框对象
  • addItems 可以使用列表进行多个下拉框内容添加, 单个添加用addItem
  • currentIndexChanged 是用来获取当前选择下拉框的索引, 这也是这个"信号"
  • 槽函数需要 有个索引传参, 这样就便于信号和槽的关联
  • currentText() 可以获取当前选择的文本内容, 接下来的代码就自由发挥了
  • adjustSize() 设置可以让展示适应文本调整尺寸,让展示更美观一些

demo 展示

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


class QComboBoxDemo(QWidget):
    def __init__(self):
        super(QComboBoxDemo, self).__init__()
        self.setWindowTitle('下拉列表控件演示')
        self.resize(300, 200)
        self.v_box_layout = QVBoxLayout()  
        self.init_ui()

    def init_ui(self):
        self.label = QLabel('请选择编程语言')
        self.combo = QComboBox()  
        self.combo.addItems(['c++', 'python', 'java', 'golang', 'ruby'])  
        self.combo.currentIndexChanged.connect(self.select_change)

        self.v_box_layout.addWidget(self.label)
        self.v_box_layout.addWidget(self.combo)
        self.setLayout(self.v_box_layout)

    def select_change(self, combo_index):
        self.label.setText(f"当前选择的程序语言为: {self.combo.currentText()}")  
        self.label.adjustSize()                       
        print(f"下拉列表的索引:{combo_index}, 下拉列表的内容: {self.combo.currentText()}")
        print(f"下拉列表的数量:{self.combo.count()}, 索引对应的内容: {self.combo.itemText(1)}")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QComboBoxDemo()
    main.show()
    sys.exit(app.exec_())
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值