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

歡迎訪問 默认站点!

默认站点

當前位置: 首頁 >

python面向窗体的开发_Python高级进阶#019 pyqt5菜单menu应用,新建多窗体

發布時間:2023/12/1 31 豆豆
默认站点 收集整理的這篇文章主要介紹了 python面向窗体的开发_Python高级进阶#019 pyqt5菜单menu应用,新建多窗体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

知識回顧:

1.掌握的是QCalendarWidget日歷控件

2.click點擊事件(信號)觸發

3.掌握日期的格式化QDate

本節知識視頻教程

以下開始文字講解:

一、案例:菜單

1.新建第一個窗體

2.一級菜單的配置

3.二級菜單的配置

4.利用菜單功能實現界面跳轉,實現一個多窗體的打開

5.利用菜單功能實現溫馨提示

效果圖

二、開發思路

1.導入類QMainWindow。

2.使用Qmenu菜單類,這個菜單我們可以從窗體本身的方法進行獲取。

3.利用Qmenu的功能,來實現多級菜單addAtion這是一個直接產生點擊事件的行為;也可以用addMenu功能來增加子菜單。

4.每次都要彈出新窗體,這個新窗體,我們要制作成全局的窗體。

5.使用Qmessagebox來實現一個簡單的幫助。

三、開發過程要點

這里的簡便方法在哪里?

本例就是運用了QMainWindow本身功能的繼承

載入菜單的簡單功能

#利用窗體本身有的菜單欄功能進行載入

mymenu=self.menuBar()

mymenu.addAction(“新建”)? ? 這里是要新建一個菜單按鈕功能

mymenu.addAction("運行")

mymenu.addAction("調試")

mymenu.addAction("幫助")

菜單按鈕行為的觸發要點

actHelp=QAction("幫助",self)

利用Qaction的triggered信號實現菜單按鈕的功能。這個信號也稱為“觸發”

actHelp.triggered.connect(self.ljyHelp)

mymenu.addAction(actHelp)

幫助按鈕的顯示內容,通過消息框進行提示。

msgbox=QMessageBox(QMessageBox.Information,"幫助","歡迎加老劉微信selidev交流",QMessageBox.Ok,self)

msgbox.show()? 這里千萬不要忘記show出來

子菜單的書寫

這里要注意,直接將子菜單寫在父級菜單的下方。

這樣的好處,更多的也可以幫助我們進行二次理解。

子菜單的添加,通過addMenu功能

mymenu=self.menuBar()

mymenu.addMenu("文件")

子菜單的核心代碼

這里要注意,子菜單的寫法,是一級一級下來的,并且每一級的書寫,都有一個范圍對象。

mymenu=self.menuBar()? 總菜單欄的返回對象

fileMenu=mymenu.addMenu(“文件”)? ? 文件菜單的返回對象

fileMenu.addAction("新建")

recentFiles=fileMenu.addMenu(“最新的..”)? ?最新的…菜單項的返回對象

recentFiles.addAction("文件1")

recentFiles.addAction("文件2")

recentFiles.addAction("文件3")

對于新窗體的建議

建議一個窗體就寫一個類。那么每一次新的窗體出現的時候,就是實例化這個類。

注意:想要讓這個窗體被一直死循環監聽,必須要把這個窗體作為程序的全局變量。否則就會出現閃退現象。

新建一個窗體的寫法

1.直接寫一個自定義的類窗體

2.將這個類窗體先不要show

3.將這個類窗體在main中進行實例化,作為全局變量

4.在槽的行為中,將這個窗體show出來。

新建多個窗體

1.這里的思想要實例化多個窗體,且這些窗體都是全局變量

2.這里我們要考慮使用列表作為全局變量來承載這些窗體對象

3.此時,我們需要在自定義的類中書寫show的代碼

四、總結強調

1.掌握菜單欄的書寫

2.掌握菜單按鈕的單擊行為跳轉功能

3.掌握子菜單的建立

4.掌握多窗體的書寫注意點

本節教程源代碼:

import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QMainWindow,QAction,QMessageBoxclass MyClass(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle("劉金玉編程")self.setGeometry(300,100,400,300)#制作菜單#利用窗體本身有的菜單欄功能進行載入mymenu=self.menuBar()fileMenu=mymenu.addMenu("文件")actNewWin=QAction("新建窗體",self)actNewWin.triggered.connect(self.myNewWin)fileMenu.addAction(actNewWin)recentFiles=fileMenu.addMenu("最新的..")recentFiles.addAction("文件1")recentFiles.addAction("文件2")recentFiles.addAction("文件3")mymenu.addAction("運行")mymenu.addAction("調試")actHelp=QAction("幫助",self)actHelp.triggered.connect(self.ljyHelp)mymenu.addAction(actHelp)self.show()def myNewWin(self):list1.append(MyClass2())def ljyHelp(self):msgbox=QMessageBox(QMessageBox.Information,"幫助","歡迎加老劉微信selidev交流",QMessageBox.Ok,self)msgbox.show()class MyClass2(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle("編程創造城市http://bcczcs.com")self.show()if __name__=="__main__":app=QApplication(sys.argv)mc=MyClass()list1=[]app.exec_()

長按關注公眾號

相關文章:

總結

以上是默认站点為你收集整理的python面向窗体的开发_Python高级进阶#019 pyqt5菜单menu应用,新建多窗体的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得默认站点網站內容還不錯,歡迎將默认站点推薦給好友。