PyQt5对话框
QinputDialog
输入的值可以是字符串,数字,或者一个项目从一个列表
def showDialog(self):
text, ok = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')
if ok:
self.le.setText(str(text))
# 显示对话框;第一个字符串是对话框标题,第二个字符串是对话框中的消息
# 对话框返回一个输入文本和一个布尔值,点击OK按钮,布尔值是True
# 对话框中收到的消息会显示在行编辑文本框中
import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, QInputDialog, QApplication)
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI() def initUI(self):
self.btn = QPushButton('Dialog', self) # 创建一个Dialog的按钮
self.btn.move(20, 20)
self.btn.clicked.connect(self.showDialog) # btn信号连接到self.showDialog槽 self.le = QLineEdit(self) # 行编辑实例
self.le.move(130, 22) self.setGeometry(300, 300, 290, 150)
self.setWindowTitle('Input dialog')
self.show() def showDialog(self):
# 显示对话框;第一个字符串是对话框标题,第二个字符串是对话框中的消息
# 对话框返回一个输入文本和一个布尔值,点击OK按钮,布尔值是True
text, ok = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')
if ok:
self.le.setText(str(text)) if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
QinputDialog
QColorDialog
QColorDialog显示一个用于选择颜色值的对话框。
# Author:凌逆战
# -*- coding:utf-8 -*- import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, QFrame,QColorDialog, QApplication)
from PyQt5.QtGui import QColor class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI() def initUI(self):
col = QColor(0, 0, 0) # 初始化QFrame颜色为黑色
self.btn = QPushButton('Dialog', self) # 创建Dialog按钮
self.btn.move(20, 20) self.btn.clicked.connect(self.showDialog) # btn信号绑定self.showDialog槽 self.frm = QFrame(self) # 创建一个框架
self.frm.setStyleSheet("QWidget { background-color: %s }"% col.name())
self.frm.setGeometry(130, 22, 100, 100) self.setGeometry(300, 300, 250, 180)
self.setWindowTitle('Color dialog')
self.show() def showDialog(self):
col = QColorDialog.getColor() # 弹出QColorDialog对话框
# 先检查col的值。如果点击的是Cancel按钮,返回的颜色值是无效的。
# 当颜色值有效时,我们通过样式表(style sheet)来改变背景颜色。
if col.isValid():
self.frm.setStyleSheet("QWidget { background-color: %s }"% col.name()) if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
颜色选择对话框
QFontDialog
import sys
from PyQt5.QtWidgets import (QWidget, QVBoxLayout, QPushButton,QSizePolicy,
QLabel, QFontDialog, QApplication)
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI() def initUI(self):
vbox = QVBoxLayout() # 创建垂直布局实例 btn = QPushButton('Dialog', self) # 创建按钮Dialog
btn.setSizePolicy(QSizePolicy.Fixed,QSizePolicy.Fixed) # 设置按钮长宽固定 btn.move(20, 20) vbox.addWidget(btn) # 垂直布局增加按钮 btn.clicked.connect(self.showDialog) # clicked信号绑定self.showDialog槽 self.lbl = QLabel('Knowledge only matters', self) # 创建文本标签
self.lbl.move(130, 20) vbox.addWidget(self.lbl) # 垂直布局添加按钮
self.setLayout(vbox) # 设置垂直布局 self.setGeometry(300, 300, 250, 180)
self.setWindowTitle('Font dialog')
self.show() def showDialog(self):
# 弹出字体对话框,getFont()方法返回字体名称和OK参数,
# 如果点击Ok,表明是True,
font, ok = QFontDialog.getFont()
# 改变标签的字体
if ok:
self.lbl.setFont(font) if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
字体选择对话框
QFileDialog
# Author:凌逆战
# -*- coding:utf-8 -*- import sys
from PyQt5.QtWidgets import (QMainWindow, QTextEdit,
QAction, QFileDialog, QApplication)
from PyQt5.QtGui import QIcon class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI() def initUI(self):
self.textEdit = QTextEdit() # 创建文本编辑实例
self.setCentralWidget(self.textEdit) # 将文本编辑控件设置为窗体中央
self.statusBar() # 设置状态栏 openFile = QAction(QIcon('web.png'), 'Open', self) # 创建事件
openFile.setShortcut('Ctrl+O') # 设置快捷方式
openFile.setStatusTip('Open new File') # 设置状态栏提示
openFile.triggered.connect(self.showDialog) # 触发绑定事件 menubar = self.menuBar() # 创建菜单栏
fileMenu = menubar.addMenu('&File') # 创建File菜单
fileMenu.addAction(openFile) # 添加事件 self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('File dialog')
self.show() def showDialog(self):
# 弹出QFileDialog对话框,第一个字符串参数为对话框的标题,第二个指定对话框的工作目录
# 默认情况下文件刷选器会匹配所有类型的文件(*)
fname = QFileDialog.getOpenFileName(self, 'Open file', '/home')
# 读取文件并将文件内容显示在TextEdit控件
if fname[0]:
f = open(fname[0], 'r') with f:
data = f.read()
self.textEdit.setText(data) if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
文件选择对话框
PyQt5对话框的更多相关文章
- 六、pyqt5对话框——QInputDialog、QColorDialog、QFontDialog、QMessageBox、QFileDialog
目录: 一.对话框综合示例 二.QDialog 三.QInputDialog 四.QMessageDialog 五.QFileDialog pyqt5的对话框有多种类型,比如输入对话框(QInput ...
- PyQt5 对话框示例
import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * class Example(QMainWindow): def _ ...
- PyQt5标准对话框
很全的Qt的标准对话框,包含QInputDialog.QColorDialog.QFontDialog.QMessageBox.QOpenFileDialog... 全部是由官网的C++版本,转换成P ...
- PyQt5教程——对话框(6)
PyQt5中的对话框 对话框窗口或对话框是大多数主流GUI应用不可缺少的部分.对话是两个或更多人之间的会话.在计算机应用中,对话框是一个用来和应用对话的窗口.对话框可以用来输入数据,修改数据,改变应用 ...
- pyqt5之QColorDialog颜色对话框最简单使用
设置窗体背景颜色 QWidget.setStyleSheet('QWidget {background-color:#88ab45}') 颜色对话框取得颜色值是十六进制. col=QCo ...
- [ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件对话框
本文主要介绍PyQt界面实现中常用的消息弹出对话框.提供用户输入的输入框.打开文件获取文件/目录路径的文件对话框.学习这三种控件前,先想一下它们使用的主要场景: 1.消息弹出对话框.程序遇到问题需要退 ...
- pyqt5通过文本对话框打开文件
点击按钮,打开文本对话框,找一人文件,打开并显示内容 QFIleDialog ...
- [PyQt5]文件对话框QFileDialog的使用
概述选取文件夹 QFileDialog.getExistingDirectory()选择文件 QFileDialog.getOpenFileName()选择多个文件 QFileDialog.getOp ...
- 用 eric6 与 PyQt5 实现python的极速GUI编程(系列04)---- PyQt5自带教程:地址簿(address book)
[引子] 在PyQt5自带教程中,地址簿(address book)程序没有完全实现界面与业务逻辑分离. 本文我打算用eric6+PyQt5对其进行改写,以实现界面与逻辑完全分离. [概览] 1.界面 ...
随机推荐
- 获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf
转载请注明出处:windeal专栏 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq 结构体struct ifconf来获取网络接口的各种信息. ioctl 首先看 ...
- 数据库连接错误:CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
学习Spring整合Hibernate的知识,新建一个工程,代码结构如下: 按如下步骤整合: 代码如下: hibernate.cfg.xml: <?xml version="1.0&q ...
- weblogic应用加载不上
这个的问题是编译的问题,在web-inf文件中的classes中少了config文件夹的配置信息 可在项目的build path 中的source中配置
- c# DataTable 导出csv文件
using System; using System.Data; using System.Configuration; using System.Collections.Generic; using ...
- linux 下 iscsi的简单使用
一.准备工作 1.1.(服务端和客户端都需要设置) 系统使用的是CentOS6.8 禁用防火墙: 查看状态:# service iptables status 停止:# systemctl sto ...
- SpreadJS 全面支持 Angular2,V10.2 版本即将发布
日前,纯前端表格控件 SpreadJS 发布了最新的CTP版本,在此版本中增加了对 Angular2 的支持以及一些 bug 修复. SpreadJS 纯前端表格控件是基于 HTML5 的 JavaS ...
- linux另一种安装方式
linux中其实没有“安装”的概念:安装就是设下路径,拷贝文件,复制文件,运行下脚本这些(windows也应该如此) 法一.把bin运行路径设成环境变量 法二.ln一下,例如: 解压下载的文件: ta ...
- Makefile中怎么使用Shell if判断
/********************************************************************* * Makefile中怎么使用Shell if判断 * 说 ...
- C#将html代码转换成文本代码
/// <summary> /// 去除HTML标记 /// </summary> /// <param name="strHtml">包括HT ...
- ubuntu 下jdk安装配置
下载jdk-8u71-linux-x64.tar.gz 创建jvm文件夹(/usr/lib/jvm) sudo mkdir /usr/lib/jvm 创建jvm文件夹(/usr/lib/jvm) su ...