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

基于PyQt5實(shí)現(xiàn)狀態(tài)欄(statusBar)顯示和隱藏功能

 更新時(shí)間:2022年08月16日 14:32:33   作者:擋不住三千問的BlueCat  
這篇文章主要為大家詳細(xì)介紹了如何利用PyQt5實(shí)現(xiàn)狀態(tài)欄顯示和隱藏功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

首先,講述要解決的兩個(gè)問題以及解決問題的代碼:

1、將鼠標(biāo)放置于菜單欄上狀態(tài)欄永久消失的問題(這個(gè)問題需要仔細(xì)觀察才能注意到)

    # 此覆蓋父類函數(shù): 覆蓋方法; 為了克服 將鼠標(biāo)放置于菜單欄上 狀態(tài)欄就消失的問題;
    def event(self, QEvent):
        if QEvent.type() == QEvent.StatusTip:
            if QEvent.tip() == "":
                QEvent = QStatusTipEvent("ready!")  # 此處為要始終顯示的內(nèi)容
        return super().event(QEvent)

2、控制狀態(tài)欄顯示和隱藏的問題

   def toggleMenu(self, state):  # 自定義事件函數(shù)
        print(state)
        # if state:
        #     self.statusBar().showMessage("ready!")
        # else:
        #     self.statusBar().showMessage("")
        # if state:  # 控制狀態(tài)欄是否顯示,
        #     self.statusbar().show()  # 此處是錯(cuò)誤示例
        # else:
        #     self.statusbar().hide()
 
        if state:  # 應(yīng)該使用statusBar() 而不是 statusbar
            self.statusBar().show()
        else:
            self.statusBar().hide()

最近學(xué)習(xí)pyqt5教程,也是別人翻譯的,總的也是錯(cuò)誤多多,應(yīng)該直接看原版的,充分表明英語很重要啊……

貼上全部代碼:

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QAction, qApp, QMenu
from PyQt5.QtGui import QIcon, QStatusTipEvent
 
class main_window(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()
 
    def initUI(self):
        # 可以設(shè)置 動(dòng)作的圖標(biāo), 文字顯示; 強(qiáng)大
        exitAct = QAction(QIcon("/Users/zuozhe/PycharmProjects/Soft-Video/images/m4.png"), "&退出", self)
        exitAct.setShortcut("Ctrl+Q")  # 設(shè)置快捷鍵
        exitAct.setToolTip("Exit Application")  # 提示
        exitAct.triggered.connect(qApp.exit)  # 綁定退出事件
 
        status = self.statusBar()  # 創(chuàng)建狀態(tài)欄
        status.showMessage("ready!")  # 顯示消息
 
        # 菜單欄
        # 文件菜單欄
        menubar = self.menuBar()
        menubar.setNativeMenuBar(False)  # MAC OS 下需要設(shè)置此句話
        fileMenu = menubar.addMenu("&File")  # 主菜單File
 
        impMenu = QMenu("Import", self)  # 創(chuàng)建菜單項(xiàng)
        impAct = QAction("Import Email", self)  # Import菜單下有子菜單 Import Email
        impMenu.addAction(impAct)
 
        newAct = QAction("New", self)
        # 就差 給 Action(動(dòng)作)綁定觸發(fā)事件了
        fileMenu.addAction(newAct)  # 將兩個(gè)菜單項(xiàng)加入到 File主菜單欄下
        fileMenu.addMenu(impMenu)
        fileMenu.addAction(exitAct)  # 綁定 File下的菜單項(xiàng)
        # 編輯菜單欄
        editMenu = menubar.addMenu("&Edit")
 
        # 視圖菜單欄
        viewMenu = menubar.addMenu("&View")
        # 勾選菜單
        viewstatAct = QAction("是否顯示狀態(tài)欄", self, checkable=True)
        viewstatAct.setToolTip("View statusbar")
        viewstatAct.setChecked(True)
        viewstatAct.triggered.connect(self.toggleMenu)  # 觸發(fā)鏈接事件; toggleMenu是自定義函數(shù)
        viewMenu.addAction(viewstatAct)
 
        # 設(shè)置窗口的 位置和大小
        self.setGeometry(300, 300, 500, 600)
        self.setWindowTitle("主窗口的菜單欄和工具欄")
        self.show()
 
    # 此覆蓋父類函數(shù): 覆蓋方法; 為了克服 將鼠標(biāo)放置于菜單欄上 狀態(tài)欄就消失的問題;
    def event(self, QEvent):
        if QEvent.type() == QEvent.StatusTip:
            if QEvent.tip() == "":
                QEvent = QStatusTipEvent("ready!")  # 此處為要始終顯示的內(nèi)容
        return super().event(QEvent)
 
    def toggleMenu(self, state):  # 自定義事件函數(shù)
        print(state)
        # if state:
        #     self.statusBar().showMessage("ready!")
        # else:
        #     self.statusBar().showMessage("")
        # if state:  # 控制狀態(tài)欄是否顯示,
        #     self.statusbar().show()
        # else:
        #     self.statusbar().hide()
 
        if state:  # 應(yīng)該使用statusBar() 而不是 statusbar
            self.statusBar().show()
        else:
            self.statusBar().hide()
 
 
if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = main_window()
    sys.exit(app.exec_())

到此這篇關(guān)于基于PyQt5實(shí)現(xiàn)狀態(tài)欄(statusBar)顯示和隱藏功能的文章就介紹到這了,更多相關(guān)PyQt5狀態(tài)欄顯示 隱藏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

化隆| 秦皇岛市| 甘孜县| 启东市| 武邑县| 瓦房店市| 沧州市| 兴城市| 南平市| 常德市| 确山县| 福鼎市| 靖江市| 江源县| 交城县| 浠水县| 修武县| 北川| 澎湖县| 漠河县| 宁蒗| 齐河县| 慈利县| 阿拉善左旗| 会昌县| 建湖县| 论坛| 平顶山市| 栖霞市| 宁德市| 惠来县| 牡丹江市| 金山区| 驻马店市| 宣化县| 古丈县| 嘉善县| 榆中县| 浙江省| 资兴市| 六枝特区|