欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyQt5 多窗口連接實(shí)例

 更新時(shí)間:2019年06月19日 11:12:51   作者:EXECUTER_  
今天小編就為大家分享一篇PyQt5 多窗口連接實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

前言

之前做過pyqt的一個(gè)簡(jiǎn)單界面,在一個(gè)窗口(MainWindow)中實(shí)現(xiàn)一些操作;之前嫌麻煩沒有去做多窗口和它們的切換功能。最近研究了下窗口的調(diào)用和切換。

pyqt4和5有很多不同,在參考別人案例的時(shí)候走了很多彎路,最后在pyqt5下實(shí)現(xiàn)了簡(jiǎn)潔的多窗口切換為大家參考。

思路

多窗口的切換和顯示連接到按鈕的信號(hào)上再進(jìn)行show()就行,格式上有別于pyqt4。

一個(gè)邏輯比較清晰的解決方案是,使用一個(gè)主程序,在其中實(shí)例化各個(gè)窗口,然后定義它們的顯示邏輯即是按鈕的槽函數(shù)。

格式上稍有不對(duì)就會(huì)報(bào)錯(cuò),也是讓我重新審視了一下python類和繼承的語法= =

同時(shí)窗口的類型也和pyqt4有所不同,pyqt5下QWidgets為主,與4中QDialog顯示方式也有所不同。

具體方式見代碼。

代碼

主程序——實(shí)例化各個(gè)窗口

from PyQt5 import QtCore, QtGui, QtWidgets
from test import Ui_Dialog
from Login import Ui_MainWindow_Login


class Ui_Dialog(QtWidgets.QWidget,Ui_Dialog):
  def __init__(self):
    super(Ui_Dialog,self).__init__()
    self.setupUi(self)
  #定義登出按鈕的功能
  def logoutEvent(self):
    self.hide()      #隱藏此窗口
    self.log = loginWindow() 
    self.log.show()    #顯示登錄窗口
               #必須加上self

class loginWindow(QtWidgets.QMainWindow,Ui_MainWindow_Login):
  def __init__(self):
    super(loginWindow,self).__init__()
    self.setupUi(self)
  #定義登錄按鈕的功能
  def loginEvent(self):
    self.hide()
    self.dia = Ui_Dialog()
    self.dia.show()
    #self.dia.exec_()
    #pyqt5下show()方法有所改變,不再使用exec_()方法。

#運(yùn)行窗口Login
if __name__=="__main__":
  import sys
  app=QtWidgets.QApplication(sys.argv)
  login_show=loginWindow()
  login_show.show()
  sys.exit(app.exec_())

多窗口

需要用到的多個(gè)窗口可以用Designer直接生成,主窗口實(shí)例化。在其中定義好信號(hào)連接即可

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow_Login(object):
  def setupUi(self, MainWindow_Login):
    #略
  def retranslateUi(self, MainWindow_Login):
    #略

if __name__=="__main__":
  import sys
  app=QtWidgets.QApplication(sys.argv)
  widget = QtWidgets.QMainWindow()
  login = Ui_MainWindow_Login()
  login.setupUi(widget)
  widget.show()
  sys.exit(app.exec_())

效果

點(diǎn)擊登陸:

退出登錄則返回到第一個(gè)窗口。

切換

理解好這個(gè)實(shí)例后,添加更多窗口都是線性復(fù)雜度的操作,在Designer中設(shè)計(jì)好窗口,直接轉(zhuǎn)碼后就可在主程序中實(shí)例化該窗口并設(shè)計(jì)它們的顯示邏輯。

以上這篇PyQt5 多窗口連接實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python導(dǎo)入pandas具體步驟方法

    python導(dǎo)入pandas具體步驟方法

    在本篇文章中小編給大家分享了關(guān)于python導(dǎo)入pandas的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們參考學(xué)習(xí)下。
    2019-06-06
  • python爬取百度貼吧前1000頁內(nèi)容(requests庫面向?qū)ο笏枷雽?shí)現(xiàn))

    python爬取百度貼吧前1000頁內(nèi)容(requests庫面向?qū)ο笏枷雽?shí)現(xiàn))

    這篇文章主要介紹了python爬取百度貼吧前1000頁內(nèi)容(requests庫面向?qū)ο笏枷雽?shí)現(xiàn)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python for循環(huán)與getitem的關(guān)系詳解

    Python for循環(huán)與getitem的關(guān)系詳解

    這篇文章主要介紹了Python for循環(huán)與getitem的關(guān)系詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Flask框架WTForm表單用法示例

    Flask框架WTForm表單用法示例

    這篇文章主要介紹了Flask框架WTForm表單用法,結(jié)合登錄驗(yàn)證的具體實(shí)例分析了Flask框架WTForm表單相關(guān)使用技巧,需要的朋友可以參考下
    2018-07-07
  • Python xlwt模塊使用代碼實(shí)例

    Python xlwt模塊使用代碼實(shí)例

    這篇文章主要介紹了Python xlwt模塊使用代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python Pygame實(shí)戰(zhàn)之憤怒的小鳥游戲?qū)崿F(xiàn)

    Python Pygame實(shí)戰(zhàn)之憤怒的小鳥游戲?qū)崿F(xiàn)

    《憤怒的小鳥》其實(shí)活得還不錯(cuò),盡管我們一直在嘲笑它的IP帝國夢(mèng)做得太大。但要知道,把休閑益智游戲的生意做到這個(gè)份上的,恐怕也就獨(dú)此一家了。本文將利用Pygame實(shí)現(xiàn)這一游戲,需要的可以參考一下
    2022-04-04
  • 如何利用python查找電腦文件

    如何利用python查找電腦文件

    利用python查找電腦里的文件非常方便,首先是導(dǎo)入模塊os,然后利用os.listdir()打開目錄下的所有文件,files其實(shí)是一個(gè)列表。具體操作方法大家參考下本文
    2018-04-04
  • 5 分鐘讀懂Python 中的 Hook 鉤子函數(shù)

    5 分鐘讀懂Python 中的 Hook 鉤子函數(shù)

    這篇文章主要介紹了5 分鐘掌握 Python 中的 Hook 鉤子函數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Centos5.x下升級(jí)python到python2.7版本教程

    Centos5.x下升級(jí)python到python2.7版本教程

    這篇文章主要介紹了Centos5.x下升級(jí)python到python2.7版本教程,本文使用編譯安裝方式,并配置了一系列需要更改的配置項(xiàng),需要的朋友可以參考下
    2015-02-02
  • 嘗試使用Python多線程抓取代理服務(wù)器IP地址的示例

    嘗試使用Python多線程抓取代理服務(wù)器IP地址的示例

    這篇文章主要介紹了嘗試使用Python多線程抓取代理服務(wù)器IP地址的示例,盡管有GIL的存在使得Python并不能真正實(shí)現(xiàn)多線程并行,需要的朋友可以參考下
    2015-11-11

最新評(píng)論