- QInputDialog介绍
- QColorDialog介绍
主要内容 #
完成效果 #
完成本节课程,能学会在窗口应用程序上增加文本对话框和改变颜色的对话框。
效果如下:

收获 #
学习完本节内容,我们会知道如何创建QInputDialog对话框控件,并利用QColorDialog更改对话框颜色。
1.QInputDialog介绍 #
对话框是一个现代GUI应用不可或缺的一部分。对话是两个人之间的交流,对话框就是人与电脑之间的对话。对话框用来输入数据,修改数据,修改应用设置等等。
QInputDialog提供了一个简单方便的对话框,可以输入字符串,数字或列表。以下是QInputDialog的简单示例:
# 注意,以下包都要导入,后面内容会用到
from PyQt5.QtWidgets import QWidget, QLineEdit, QInputDialog, QColorDialog, QApplication
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.le = QLineEdit(self) # 创建一个行文本框控件
self.le.move(130, 22) # 移动位置
# QInputDialog.getText()方法从控件获得标准字符串输入,第一个参数输入父窗口,
# 第二个参数输入对话框的标题名,第三个参数是对话框的标签提示
# 返回值text是用户输入的字符串,okPressed是ok键的点击与否(True 或 False)
text, okPressed = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')
# 如果ok键点击了,则让行文本框显示用户输入的字符串
if okPressed:
self.le.setText(str(text))
# 设置窗口的位置和大小,前两个参数表示离屏幕左上角的坐标,后两个参数表示窗口的大小
self.setGeometry(300, 300, 500, 500)
self.setWindowTitle('QInputDialog') # 设置窗口的标题
self.show() # 显示窗口
app = QApplication(sys.argv) # 创建应用程序
ex = Example() # 创建窗口对象
sys.exit(app.exec_()) # 设置关闭窗口后结束进程
拓展练习:多运行几次上述程序,尝试每次输入不同的姓名,中英文均可。
2.QColorDialog介绍 #
QColorDialog提供颜色的选择。以下是QColorDialog的简单示例:
col = QColorDialog.getColor() # QColorDialog.getColor()方法创建颜色选择对话框,返回的col是用户选择的颜色
# setStyleSheet()方法更改应用的显示风格,参数'QWidget {background-color:%s}'指定修改控件的背景颜色
self.setStyleSheet('QWidget {background-color:%s}' %col.name()) # col.name 是颜色的十六进制值
将这部分代码,添加到第一节PyQt5代码框架中的initUI中,注意要放在最前面。
拓展练习:运行上述程序,将对话框改为红色。
小结 #
习题 #
- 习题1:尝试修改QInputDialog的标签提示为‘Enter your favorite language’,然后输入语言名称。
- 习题2:多运行几次程序,尝试将对话框改为黄色、蓝色、黑色。