python 如何做密码对话框_Python GUI教程(八):在主窗口中调用对话框
本篇将会介绍:
使用qt设计师创建两个窗口
转换设计师UI代码为Python代码
从主窗口中调用对话框窗口
一、创建两个窗口
根据本篇的最终目标——在主窗口中调用对话窗口,我们先使用qt设计师创建两个窗口,其中一个主窗口MainWindows,一个含有两个按钮的对话窗口Dialog。
通过qt设计师新建一个MainWindows窗口,并在其中放置一个按钮:
保存为UI文件,再新建一个对话窗口:
同样保存为UI文件。
这样我们本地文件夹有两个可供转换为Python代码的UI文件:
二、转换UI文件为Python代码文件
保存好两个窗口的UI文件之后,我们继续使用pyuic5工具,将这两个UI文件转换为Python代码文件。
打开命令行输入:
pyuic5 -x -o mainWindow.py mainWindow.ui
pyuic5 -x -o dialog.py dialog.ui
运行一下转换出来的Python文件,是否正常:
一切正常,接下来我们可以进行两个窗口的连接和调用了。
三、从主窗口中调用对话框窗口
在进行下一步之前,我们先在主窗口mainWindow中添加一个文本标签,设置文本为空,字体加大:
有个这个label我们可以将对对话框的操作,反馈在label标签中。
保存UI文件,使用pyuic5重新转换一次Python代码。
为了在主窗口代码中调用对话框窗口,我们需要在mainWindow.py文件中引入对话框窗口:
from GUI import dialog
然后定义在主窗口的主类中定义一个方法,用来显示对话框窗口:
def click_button(self):
Dialog = QtWidgets.QDialog()
ui = dialog.Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
Dialog.exec_()
定义好了方法,我们需要对按钮进行点击调用的绑定,这在setupUi()方法中进行设置:
self.pushButton.clicked.connect(self.click_button)
这样就实现了按钮点击绑定对话框。
我们知道,我们的对话框是有两个按钮的,一个“OK”,一个“Cancel”,在我们的GUI程序中,点击任意一个都会关闭对话框,效果似乎是一样的,但在PyQt5的内部机制的,这是两个不同的事件,下面我们就通过之前设置的label标签,展示其不同的机制。
我们修改一下click_button()方法,修改如下:
def click_button(self):
Dialog = QtWidgets.QDialog()
ui = dialog.Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
# Dialog.exec_()
rsp = Dialog.exec_()
if rsp == QtWidgets.QDialog.Accepted:
self.label.setText("点击了OK")
else:
self.label.setText("点击了Cannel")
在这里我们将对话框的运行赋值给了一个变量,然后将其与QtWidgets.QDialog.Accepted进行比较,QtWidgets.QDialog.Accepted表示的是对话框的接收事件,也就是“OK”代表的事件,如果为接收时间,设置label标签为“点击了OK”,否则设置label标签为“点击了Cannel”
分享到:
python 如何做密码对话框_Python GUI教程(八):在主窗口中调用对话框相关推荐
- python的messagebox的用法_Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解...
本文实例讲述了Python GUI编程学习笔记之tkinter中messagebox.filedialog控件用法.分享给大家供大家参考,具体如下: 相关内容: messagebox 介绍 使用 fi ...
- 爬虫技术python爬到女性语音_python爬虫看看虎牙女主播中谁最“顶”步骤详解
网页链接:https://www.huya.com/g/4079 这里的主要步骤其实还是和我们之前分析的一样,如下图所示: 这里再简单带大家看一下就行,重点是我们的第二部分. 既然网页结构我们已经分析 ...
- python闹钟界面源码_Python GUI 教程 25行代码写一个小闹钟
今天我们讲一下用Python写的GUI小程序.一个小闹钟(只是屏幕提示,没有声音哦) 让我们先介绍这个闹钟如何奇葩. 需要通过命令行启动. 没有标题栏. 没菜单. 甚至没有关闭按钮. 没有运行界面. ...
- wpf中的点击窗口放大放小按钮怎么写_Python tkinter教程01:创建窗口
往期回顾 我想问下,你为什么看这里?这是第一期 文章目录 0 准备工作 1 创建空白窗体 2 窗口标题 3 窗口大小与位置 4 锁定窗口大小 5 窗口图标 6 隐藏与显示窗口 其它 0 准备工作 要使 ...
- 518抽奖软件源码之:主窗口上含对话框时如何最小化
在开发"518抽奖软件"的时候,需要用到主窗口上含对话框时最小化的功能. 本来很简单的一行代码 ShowWindow(SW_MINIMIZE) 即可,但是这个代码在XP系统下不能用 ...
- 用qt做python界面设计_Python GUI教程(六):使用Qt设计师进行窗口布局
本篇介绍使用qt设计师进行GUI窗口的布局管理,主要包含以下内容:使用Qt设计师布局我们的窗口部件: 垂直布局: 水平布局: 网格布局: 使用间隔: 使用"伙伴"将label标签与 ...
- python 动画场景_Python GUI教程(十五):在PyQt5中使用动画
QT作为一个全面的桌面应用程序开发包,其自然提供了对图像的动画支持.本篇文章中,就来简单地在PYQt5中使用Animation动画功能. 本篇将会依次完成以下功能: 在GUI界面中显示一个图片(用一个 ...
- python qt gui教程_Python GUI教程(四):安装并使用Qt设计师设计Python GUI
一.安装PyQt5 设计师工具 安装 默认情况下,我们在安装PyQt5的时候会自动安装Qt设计师软件: 如果没有安装的,我们可以使用Python包管理工具pip进行安装: pip install py ...
- python可以做什么开发-python适合做什么开发_python未来发展怎么样
python概述 Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年.Python是纯粹的自由软件, 源代 ...
最新文章
- php找不到指定的模块,php中的dll“无法找到指定的模块”
- 查看每个表空间的使用率
- [转载]Windows Phone 系列- 本地数据存储
- STL之list学习(2)(list代码实现)(只剩最后一步,迭代器升级!!)
- Spring MVC 解读——@Autowired、@Controller、@Service从原理层面来分析
- 机器学习入门学习资料推荐
- 大锅菜机器人_炒菜机或者炒菜机器人有好用的吗 - 玩主论坛
- 计算机软考可以直接高级吗,计算机软考没有中级能考高级吗
- 通过ODBC实现ACCESS与SQL数据互导(临安人才网 )
- 基于差分分级和关联规则挖掘的气象数据关联性分析实战
- 机器学习中的数据预处理方法与步骤
- Salesforce入门教程(中文)-019 VF创建输入表单
- [C语言] 常量与变量
- 一年中最后一个月的最后一天说说_一年最后一天的说说
- 2018-2019-2 20175217 实验四《Android开发基础》实验报告
- 顶点计划:关于大学生自习的调研
- python 横坐标只显示部分数据,Python使用matplotlib在x轴上显示特定值
- 2021最新 JDK17 之 JAVA基础 Stream 流
- 《STL源码剖析》总结
- java字符转成ncr_用Java打印所有可能的nCr组合
热门文章
- Python使用matplotlib绘制正多边形逼近圆周
- Python使用逻辑回归算法根据三围数据判断用户性别
- Python符号计算入门及隐函数图像绘制
- 学习Python的好去处,微信公众号“Python小屋”
- php文件出现UTF-8错误,php – 文件格式UTF8与BOM导致“标头已发送” – 错误
- C++ 容器适配器priority_queue的使用及实现
- rocketmq消息持久化到mysql_RocketMQ之事务消息
- linux for循环套for循环格式_4.20 for循环 break、continue关键字
- r语言在线编译器w3c,R语言运算符知识点总结
- android的自定义字体,Android 自定义字体方案