最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyQt5 多窗口連接實例

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

前言

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

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

思路

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

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

格式上稍有不對就會報錯,也是讓我重新審視了一下python類和繼承的語法= =

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

具體方式見代碼。

代碼

主程序——實例化各個窗口

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_()方法。

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

多窗口

需要用到的多個窗口可以用Designer直接生成,主窗口實例化。在其中定義好信號連接即可

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_())

效果

點擊登陸:

退出登錄則返回到第一個窗口。

切換

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

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

相關(guān)文章

  • 在Python中用GDAL實現(xiàn)矢量對柵格的切割實例

    在Python中用GDAL實現(xiàn)矢量對柵格的切割實例

    這篇文章主要介紹了在Python中用GDAL實現(xiàn)矢量對柵格的切割實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python實現(xiàn)經(jīng)緯度采樣的示例代碼

    python實現(xiàn)經(jīng)緯度采樣的示例代碼

    這篇文章主要介紹了python實現(xiàn)經(jīng)緯度采樣的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python 第三方日志框架loguru使用

    Python 第三方日志框架loguru使用

    使用Python自帶的logging模塊記錄日志,但是總覺得不夠優(yōu)雅。 Loguru解決了這個問題,接下來通過本文給大家介紹Python 第三方日志框架loguru使用,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • 2023最新pytorch快速安裝指南(超詳細版)

    2023最新pytorch快速安裝指南(超詳細版)

    這篇文章主要給大家介紹了2023年最新pytorch快速安裝指南的相關(guān)資料,PyTorch是一個開源的深度學習框架,提供了各種張量操作并通過自動求導可以自動進行梯度計算,方便構(gòu)建各種動態(tài)神經(jīng)網(wǎng)絡(luò),需要的朋友可以參考下
    2023-10-10
  • pandas中DataFrame數(shù)據(jù)合并連接(merge、join、concat)

    pandas中DataFrame數(shù)據(jù)合并連接(merge、join、concat)

    這篇文章主要給大家介紹了關(guān)于pandas中DataFrame 數(shù)據(jù)合并連接(merge、join、concat)的相關(guān)資料,文中介紹的非常詳細,需要的朋友可以參考下
    2021-05-05
  • python探索之BaseHTTPServer-實現(xiàn)Web服務(wù)器介紹

    python探索之BaseHTTPServer-實現(xiàn)Web服務(wù)器介紹

    這篇文章主要介紹了python探索之BaseHTTPServer-實現(xiàn)Web服務(wù)器介紹,小編覺得還是挺不錯的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • python中range和xrange的區(qū)別(python2和python3)

    python中range和xrange的區(qū)別(python2和python3)

    在Python中,range()?和?xrange()?函數(shù)在早期的Python版本(Python 2)中扮演著不同的角色,但在Python 3中,xrange()?已經(jīng)被移除,并被?range()?取代,下面就來介紹一下,感興趣的可以了解一下
    2025-04-04
  • python文件和文件夾復制函數(shù)

    python文件和文件夾復制函數(shù)

    這篇文章主要為大家詳細介紹了python文件和文件夾復制函數(shù)的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Python對Tornado請求與響應(yīng)的數(shù)據(jù)處理

    Python對Tornado請求與響應(yīng)的數(shù)據(jù)處理

    這篇文章主要介紹了Python對Tornado請求與響應(yīng)的數(shù)據(jù)處理,需要的朋友可以參考下
    2020-02-02
  • Python Django ORM連表正反操作技巧

    Python Django ORM連表正反操作技巧

    這篇文章主要介紹了Django-ORM-連表正反操作,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-06-06

最新評論

德庆县| 梁山县| 诏安县| 南郑县| 江永县| 康平县| 巴彦县| 睢宁县| 台山市| 永定县| 安图县| 商河县| 长葛市| 铁岭市| 嘉义县| 梧州市| 启东市| 项城市| 临夏市| 浠水县| 阿拉尔市| 田阳县| 栾城县| 鄂伦春自治旗| 黄大仙区| 潜山县| 都江堰市| 松滋市| 察隅县| 永安市| 东阳市| 盘山县| 米脂县| 绍兴县| 乌兰浩特市| 卓资县| 武城县| 江都市| 百色市| 汾阳市| 攀枝花市|