日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【PyQt5,2021最新Java常用开源库总结

發布時間:2024/1/8 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【PyQt5,2021最新Java常用开源库总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PyQt5 實現多個頁面跳轉,我們可以借助一個 Controller 控制器來實現,大體思路如下:

# 利用一個控制器來控制頁面的跳轉class Controller:def __init__(self):passdef show_A(self):# 創建 A 窗口對象并顯示# 關閉其余窗口對象def show_B(self):# 創建 B 窗口對象并顯示# 關閉其余窗口對象def show_C(self):# 創建 C 窗口對象并顯示# 關閉其余窗口對象

來看一個使用情景:

  • 用 Qt designer 設計好了三個頁面:hello.py、login.py、operate.py

  • hello.py 中有一個 Id 為 loginBuuton 的按鈕,用于跳轉到 login.py 窗口

  • hello.py 中還有一個 Id 為 operateButton 的按鈕,用于跳轉到 operate.py 窗口

實現效果

注:由于我們的 界面邏輯 是分離的,所以界面只需滿足上面的使用情境中的要求即可。

運行程序啟動一個 hello.py 的歡迎界面:

點擊 票務管理,實際上是點擊了 loginButton 按鈕,跳轉到了 login.py 登錄界面:

如果歡迎界面中點擊的是 票務查詢,實際上是點擊了 operateButton,會跳轉到 operate.py 界面:

代碼編寫

首先導入需要的模塊:系統模塊利用designer設計的頁面

import sysfrom PyQt5 import QtCore, QtWidgets, QtCore# 導入 Qt designer 設計的頁面from hello import Ui_MainWindow as Hello_Ui from login import Ui_MainWindow as Login_Uifrom operate import Ui_MainWindow as Operate_Ui

然后寫頁面對應的窗口類,我們這里簡單的實現 一個頁面往其他頁面的跳轉

實現跳轉的邏輯主要都在 HelloWindow 類中,其他窗口類僅僅做了初始化:

# 主窗口class HelloWindow(QtWidgets.QMainWindow, Hello_Ui):switch_window1 = QtCore.pyqtSignal() # 跳轉信號switch_window2 = QtCore.pyqtSignal() # 跳轉信號def __init__(self):super(HelloWindow, self).__init__()self.setupUi(self)self.queryButton.clicked.connect(self.goOperate)self.manageButton.clicked.connect(self.goLogin)def goLogin(self):self.switch_window1.emit()def goOperate(self):self.switch_window2.emit()# 登錄窗口class LoginWindow(QtWidgets.QMainWindow, Login_Ui):def __init__(self):super(LoginWindow, self).__init__()self.setupUi(self)# 操作窗口class OperateWindow(QtWidgets.QMainWindow, Operate_Ui):def __init__(self):super(OperateWindow, self).__init__()self.setupUi(self)

控制器用來控制頁面的跳轉:

# 利用一個控制器來控制頁面的跳轉class Controller:def __init__(self):pass# 跳轉到 hello 窗口def show_hello(self):self.hello = HelloWindow()self.hello.switch_window1.connect(self.show_login)self.hello.switch_window2.connect(self.show_operate)self.hello.show()# 跳轉到 login 窗口, 注意關閉原頁面def show_login(self):self.login = LoginWindow()self.hello.close()self.login.show()# 跳轉到 operate 窗口, 注意關閉原頁面def show_operate(self):self.operate = OperateWindow()self.hello.close()self.operate.show()

啟動整個項目:

def main():app = QtWidgets.QApplication(sys.argv)controller = Controller() # 控制器實例controller.show_hello() # 默認展示的是 hello 頁面sys.exit(app.exec_())if __name__ == '__main__':main()

補充:使用 designer 開發,頁面跳轉函數

===========================================================================================

假設寫好了一個 A 頁面:

class MainWindow(QMainWindow, Ui_MainWindow): # 多重繼承QMainWindow和Ui_MainWindowdef __init__(self):super(MainWindow, self).__init__() # 先調用父類QMainWindow的初始化方法self.setupUi(self) # 再調用setupUi方法

在 B 頁面引入了 A 頁面:

from main import MainWindow

在 A 頁面需要進行頁面跳轉只需要封裝一個以下函數即可:

# 關閉當前界面, 打開主界面def toMainWindow(self):self.ui1 = MainWindow()self.ui1.show()self.close()

不使用 designer 的頁面跳轉

=====================================================================================

這個更簡單了,只需要在 main 方法里將 A 頁面的點擊事件與 B 頁面的展示綁定即可:

import sysfrom PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication# 《MySql面試專題》![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/323d061e349a5dda0977caa8107cf4b5.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/efe888023326af51541dc45b08058c5e.png)# 《MySql性能優化的21個最佳實踐》![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/abacd1a6ffaf7f9871117f9d65b53f25.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/b69652b6f8f437369d407cda91b8557e.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/d32344e66a6bd20b21058be6c1e2c7ee.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/ce1d500b713a237936531e218ce1c2af.png)# 《MySQL高級知識筆記》![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/b069a90ee1f07e73bf7a91620327b592.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/9ec9681469064837738581c2152089e9.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/b79ed1933e439c25eff4f9e6152f57db.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/510410b369f47c8345cf4fc1fc78c9bd.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/0f493c0e5330af145b1bb39c1c054a7f.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/38638dc947e657cb35da795e75f80ecb.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/32287c9257ead838641f594ef01c6dd2.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/65d2e99de5dd3ef2fb3eb7156e19cdcc.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/dd0ab11778edb4c7d3dc28aa823aae58.png)![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/dc4310f3d8065b580176c867580d8396.png)文中展示的資料包括:**《MySql思維導圖》《MySql核心筆記》《MySql調優筆記》《MySql面試專題》《MySql性能優化的21個最佳實踐》《MySq高級知識筆記》**如下圖![全網火爆MySql 開源筆記,圖文并茂易上手,阿里P8都說好](https://img-blog.csdnimg.cn/img_convert/6f9806273794229d9aeef497a9efc7ea.png)## 獲取方式:[點擊這里前往傳送門](https://gitee.com/vip204888/java-p7)g-q3z1IyVi-1628598472549)][外鏈圖片轉存中...(img-DFM65ycS-1628598472550)][外鏈圖片轉存中...(img-9Tm5UA8L-1628598472551)][外鏈圖片轉存中...(img-LCZrlCJP-1628598472552)]文中展示的資料包括:**《MySql思維導圖》《MySql核心筆記》《MySql調優筆記》《MySql面試專題》《MySql性能優化的21個最佳實踐》《MySq高級知識筆記》**如下圖[外鏈圖片轉存中...(img-e4EEy30K-1628598472552)]## 獲取方式:[點擊這里前往傳送門](https://gitee.com/vip204888/java-p7)**關注我,點贊本文給更多有需要的人**

總結

以上是生活随笔為你收集整理的【PyQt5,2021最新Java常用开源库总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。