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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PyQt4编程之如何做菜单栏

發(fā)布時間:2025/3/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PyQt4编程之如何做菜单栏 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

菜單欄是大部分軟件都有的,菜單欄能提供便捷的幫助,記事本的菜單欄就是最簡單的一個例子,等過幾天我會寫記事本的菜單欄了再另外發(fā)代碼出來。

下面的代碼是Copy的:

import sys from PyQt4 import QtGui,QtCoreclass MainWindow(QtGui.QMainWindow):def __init__(self):QtGui.QMainWindow.__init__(self)self.resize(250,150) self.move(600,300)self.setWindowTitle('menubar')exit = QtGui.QAction(QtGui.QIcon('web.png'),'Exit',self) #創(chuàng)建相應(yīng)的動作(自己的理解)exit.setShortcut('Ctrl+Q') #創(chuàng)建前面動作的快捷方式exit.setStatusTip('Exit application') #屬于QAction這個類的成員函數(shù),用于設(shè)置在狀態(tài)欄提示前面動作的信息self.connect(exit,QtCore.SIGNAL('triggered()'),QtCore.SLOT('close()')) #建立信號和槽之間的連接,self.statusBar().showMessage("ready")menubar = self.menuBar()file= menubar.addMenu('&File')file.addAction(exit) app=QtGui.QApplication(sys.argv) main = MainWindow() main.show() sys.exit(app.exec_())

這里我想詳細(xì)分析一下。

首先查看QAction這個類,可以發(fā)現(xiàn)它有三種實例化方式:

QAction(QObject) QAction(QString, QObject) QAction(QIcon, QString, QObject)

顯然我們這里采用的是第三種實例化方式。我想說的是,我們不僅要看得懂別人的代碼,重要的是自己還要會分析在這么多選擇下,他為什么要這么寫。(顯然,代碼的作者要生成圖標(biāo),所以選第三種)

我們再看一下setShortcut這個函數(shù),它是QAction這個類的成員函數(shù),exit是QAction實例化的一個對象,所以exit調(diào)用setShortcut這個函數(shù)就很正常了,另外,setShortcu函數(shù)的原型是:defsetShortcut(self, QKeySequence),QKeySequence也可以猜出來其參數(shù)是快捷鍵了。


有了剛才那個例子,我們也可以猜出來setStatusTip是QAction的成員函數(shù)了,我們在看一下它的原型:

defsetStatusTip(self, QString),很明顯,QString是我們要顯示的提示信息了。


緊接著又出現(xiàn)了和上面函數(shù)很像的statusBar(),點進(jìn)去發(fā)現(xiàn),它是屬于QMainWindow這個類的,所以用self就是對的

它的原型是defstatusBar(self),返回值類型是QstatusBar,結(jié)合英文可以猜知它的作用是獲得狀態(tài)欄,

再看一下它的尾巴showmessage(),

點開發(fā)現(xiàn)它有五種類型,這里顯然點進(jìn)去第四個,發(fā)現(xiàn)它就是QstatusBar的成員函數(shù)。進(jìn)而聯(lián)系到它的作用,在狀態(tài)欄上顯示信息。 我也點進(jìn)去了其他的,發(fā)現(xiàn)它屬于的類都不是QstatusBar。(從后面的括號信息也看得出) self.connect(exit,QtCore.SIGNAL('triggered()'),QtCore.SLOT('close()')) #建立信號和槽之間的連接, 這一句話我沒有介紹,它是信號和槽之間的連接,有一篇文章不錯,點擊打開鏈接

總結(jié)

以上是生活随笔為你收集整理的PyQt4编程之如何做菜单栏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。