温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

pyqt5快速上手基础篇7-弹出对话框

发布时间:2020-07-31 02:18:15 来源:网络 阅读:363 作者:一叶孤沙 栏目:编程语言

前言

本节我们学习QDialog的使用,在主页面点击按钮弹出一个新的Dialog。

一、基础知识

1. dialog简介

窗口是GUI设计中不可获取的一部分,方便用户和程序直接交互,简化使用;Qdialog主要包含QInputDialog、QColorDialog、QFontDialog、QFileDialog等。

Dialog中常用方法如下:

pyqt5快速上手基础篇7-弹出对话框

二、实例

1. QT Designer设计UI

打开designer.exe,使用默认的Main Window创建,直接点击Create按钮即可

pyqt5快速上手基础篇7-弹出对话框

设计主页面如下,并保存为dialog.ui

pyqt5快速上手基础篇7-弹出对话框

设计弹出新页面如下,保存为dilog_new.ui

pyqt5快速上手基础篇7-弹出对话框

2 将*.ui转换为ui_dialog.py

进入run.py目录,输入pyuic5 -o ui_dialog.py dialog.ui
pyuic5 -o ui_dialog_new.py dialog_new.ui

3 编写python程序

# encoding=utf-8
import sys
import PyQt5.QtWidgets as qw
import dialog
import dialog_new

class myForm(qw.QWidget, dialog.Ui_Form1):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
    def close_w1(self):
        self.close()
class myFormNew(qw.QWidget, dialog_new.Ui_Form2):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

if __name__ == '__main__':
    app = qw.QApplication(sys.argv)
    w1 = myForm()
    w2 = myFormNew()
    w1.show()
    def show_w2():
        w2.show()
    # w1.pushButton.clicked.connect(w1.close_w1)
    w1.pushBu![](https://s1.51cto.com/images/blog/202002/02/0bd04cd1c4175196558cdce3090d9f98.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)tton.clicked.connect(show_w2)
    app.exec_()

上述程序将主页面的pushButton的clicked信号,和show_w2()槽函数关联,点击按钮,会弹出新设计的dialog_new页面,同时dialog页面存在,推出dialog_new页面后,会返回dialog页面,如果打开程序中注释内容,点击按钮,弹出dilog_new页面出来的时候会删除dialog页面。

三、运行

进入文件目录,输入python3 run.py,即可弹出上述用QT Designer设计出来的dialog页面。

pyqt5快速上手基础篇7-弹出对话框

点击点我按钮

pyqt5快速上手基础篇7-弹出对话框

四、结语

如您在使用过程中有任何问题,请加QQ群进一步交流,也可以github提Issue。

QQ交流群:906015840 (备注:物联网项目交流)

获取源码:关注公众号,回复pyqt5即可

一叶孤沙出品:一沙一世界,一叶一菩提

pyqt5快速上手基础篇7-弹出对话框

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI