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

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

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

前言

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

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

思路

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

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

格式上稍有不對就會(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í)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

    Python 第三方日志框架loguru使用

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

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

    這篇文章主要給大家介紹了2023年最新pytorch快速安裝指南的相關(guān)資料,PyTorch是一個(gè)開源的深度學(xué)習(xí)框架,提供了各種張量操作并通過自動(dòng)求導(dǎo)可以自動(dòng)進(jìn)行梯度計(jì)算,方便構(gòu)建各種動(dòng)態(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)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2021-05-05
  • python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹

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

    這篇文章主要介紹了python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹,小編覺得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    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文件和文件夾復(fù)制函數(shù)

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

    這篇文章主要為大家詳細(xì)介紹了python文件和文件夾復(fù)制函數(shù)的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    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-連表正反操作,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-06-06

最新評論

巨鹿县| 静海县| 肇州县| 崇左市| 含山县| 鄂伦春自治旗| 安西县| 江津市| 辽宁省| 新和县| 虞城县| 曲周县| 苍梧县| 汉寿县| 黑龙江省| 丹阳市| 平昌县| 郸城县| 呼伦贝尔市| 革吉县| 晋中市| 武城县| 梅河口市| 崇左市| 蒙自县| 东海县| 民县| 罗山县| 巫山县| 武乡县| 安平县| 德清县| 虹口区| 梁平县| 乐昌市| 隆林| 华安县| 广丰县| 太和县| 靖江市| 绥棱县|