资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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

前言

本节我们学习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![](/upload/otherpic63/0bd04cd1c4175196558cdce3090d9f98.png)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-弹出对话框


新闻标题:pyqt5快速上手基础篇7-弹出对话框
浏览地址:http://cdkjz.cn/article/jgdsjd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220