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![](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-彈出對話框

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章