PyQt5每天必学之组合框

yipeiwu_com6年前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设计】。

相关文章

使用pyqt 实现重复打开多个相同界面

一般采用的方法: self.window = Qdialog() # 实例化 self.window.show() # 显示界面 用这种方法只能打开一个界面,self使得默认只...

给我一面国旗 python帮你实现

给我一面国旗 python帮你实现

本文实例为大家分享了Python之给我一面国旗的具体代码,供大家参考,具体内容如下 1、“给我一面国旗@微信官方” 今天“给我一面国旗@微信官方”刷爆了朋友圈,我也蹭波热度,出个Pyth...

python实现将内容分行输出

#python版一行内容分行输出   a="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九" """ 分行输出为: abcdefghi ABCD...

Django学习笔记之ORM基础教程

Django学习笔记之ORM基础教程

ORM简介 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,OR...

Python读取word文本操作详解

Python读取word文本操作详解

本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下。 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面...