PyQt5每天必学之组合框

yipeiwu_com7年前Python基础

QComboBox 是一个允许用户从列表选项中选择一项的控件。

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

这个例子展示了如何使用QComboBox部件。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年8月4日
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QComboBox

class Example(QWidget):

 def __init__(self):
  super().__init__()

  self.initUI()

 def initUI(self):

  self.lb1 = QLabel('黑客帝国', self)

  combo = QComboBox(self)
  combo.addItem('黑客帝国')
  combo.addItem('指环王')
  combo.addItem('复仇车联盟')
  combo.addItem('阿凡达')
  combo.addItem('X战警')

  combo.move(50, 50)
  self.lb1.move(50, 150)

  combo.activated[str].connect(self.onActivated)

  self.setGeometry(300, 300, 300, 200)
  self.setWindowTitle('组合框')  
  self.show()

 def onActivated(self, text):
  self.lb1.setText(text)
  self.lb1.adjustSize()

if __name__ == '__main__':

 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())

组合框中有五个选项。标签控件用来显示从组合框中所选的选项。

combo = QComboBox(self)
combo.addItem('黑客帝国')
combo.addItem('指环王')
combo.addItem('复仇车联盟')
combo.addItem('阿凡达')
combo.addItem('X战警')

我们创建包含五个选项的QComboBox部件。

combo.activated[str].connect(self.onActivated)

在QComboBox中选中项目,我们调用onActivated()方法。

def onActivated(self, text):
 self.lb1.setText(text)
 self.lb1.adjustSize()

在onActivated()方法中,我们设置标签控件显示所选项目的文本。adjustSize()调整标签的大小。

程序执行后

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python文件和流(实例讲解)

1.文件写入 #打开文件,路径不对会报错 f = open(r"C:\Users\jm\Desktop\pyfile.txt","w") f.write("Hello,world!\...

Python的Django框架中forms表单类的使用方法详解

Python的Django框架中forms表单类的使用方法详解

Form表单的功能 自动生成HTML表单元素 检查表单数据的合法性 如果验证错误,重新显示表单(数据不会重置) 数据类型转换(字符类型的数据转换成相应的Python类型...

Python中一行和多行import模块问题

Python 不建议用一行 import 所有模块,而是推荐用多行 import 来导入模块。更多的是出于操作便利性的原因,与代码本身无关: 更易于阅读 import fred 比...

浅谈python和C语言混编的几种方式(推荐)

Python这些年风头一直很盛,占据了很多领域的位置,Web、大数据、人工智能、运维均有它的身影,甚至图形界面做的也很顺,乃至full-stack这个词语刚出来的时候,似乎就是为了描述它...

Python入门之后再看点什么好?

不止一次在微信、知乎有读者朋友跑过来问:看完了基础书,甚至看两遍了,但自己写的时候还是没思路,我该怎么办? 编程在我看来就是一门手艺活,绝不是简单通过看书就能学会的,跟学游泳、学车、学钢...