python工具栏消失_[Python自学] PyQT5-菜单栏、工具栏、状态栏
一、菜單欄
手工使用代碼創(chuàng)建菜單欄主要有以下步驟:
1)創(chuàng)建一個(gè)獲取窗口的menuBar實(shí)例(這個(gè)實(shí)例是MainWindow的成員屬性)
2)在menuBar中添加Menu
3)在Menu中添加Actions
4)為Actions綁定triggered事件
菜單欄Demo:
importsys#導(dǎo)入QT,其中包含一些常量,例如顏色等
from PyQt5.QtCore importQt#導(dǎo)入常用組件
from PyQt5.QtWidgets importQApplication, QMainWindowfrom PyQt5.QtWidgets importQAction#使用調(diào)色板等
from PyQt5.QtGui importQIconclassDemoWin(QMainWindow):def __init__(self):
super().__init__()
self.initUI()definitUI(self):
self.resize(400, 250)#獲取QMainWindow的MenuBar對(duì)象
bar =self.menuBar()#在menuBar上添加文件菜單
file = bar.addMenu("文件")
new= QAction("新建 (&N)", self)
open= QAction("打開(kāi) (&O)", self)
save= QAction("保存", self)#為一個(gè)Action設(shè)置快捷鍵
save.setShortcut("Ctrl + S")
saveAt= QAction("另存為", self)
file.addAction(new)
file.addAction(open)
file.addAction(save)
file.addAction(saveAt)#為文件-->保存綁定槽函數(shù)
save.triggered.connect(self.saveProcess)#在menuBar上添加編輯菜單
edit = bar.addMenu("編輯")
edit.addAction("復(fù)制")
edit.addAction("剪切")
edit.addAction("粘貼")#在編輯菜單中添加一個(gè)其他操作菜單,其中包含多個(gè)QAction
others = edit.addMenu("其他操作")
others.addAction("A操作")
others.addAction("B操作")
others.addAction("B操作")
quit= QAction("退出", self)#文件-->退出,綁定窗口的close槽
quit.triggered.connect(self.close)
file.addAction(quit)#添加窗口標(biāo)題
self.setWindowTitle("MenuDemo")defsaveProcess(self):print("保存")if __name__ == '__main__':
app=QApplication(sys.argv)
app.setWindowIcon(QIcon("images/icon.ico"))#創(chuàng)建一個(gè)主窗口
mainWin =DemoWin()#顯示
mainWin.show()#主循環(huán)
sys.exit(app.exec_())
實(shí)現(xiàn)效果:
二、工具欄
要使用工具欄,需要以下步驟:
1)在QMainWindow中添加一個(gè)工具欄 addToolBar()
2)在toolBar中添加Action(Action可以指定圖標(biāo)和名稱,默認(rèn)只顯示圖標(biāo),名稱以tip的方式顯示)
importsys#導(dǎo)入QT,其中包含一些常量,例如顏色等
from PyQt5.QtCore importQt#導(dǎo)入常用組件
from PyQt5.QtWidgets importQApplication, QMainWindowfrom PyQt5.QtWidgets importQAction, QMenu, QActionGroup#使用調(diào)色板等
from PyQt5.QtGui importQIconclassDemoWin(QMainWindow):def __init__(self):
super().__init__()
self.initUI()definitUI(self):
self.resize(400, 250)#創(chuàng)建一個(gè)toolBar,用于放置文件操作
fileBar = self.addToolBar("File")
new= QAction(QIcon('./images/new.jpg'), "新建", self) #指定了圖標(biāo)默認(rèn)顯示圖標(biāo)
fileBar.addAction(new)
open= QAction(QIcon('./images/open.jpg'), "打開(kāi)", self)
fileBar.addAction(open)
fileBar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)#設(shè)置名稱顯示在圖標(biāo)下面(默認(rèn)本來(lái)是只顯示圖標(biāo))
fileBar.actionTriggered.connect(self.toolbtnpressed)#創(chuàng)建另一個(gè)toolbar,用于放置編輯操作
editBar = self.addToolBar("Edit")
copy= QAction("復(fù)制", self) #沒(méi)有指定圖標(biāo),默認(rèn)顯示名稱
editBar.addAction(copy)
paste= QAction("粘貼", self)
editBar.addAction(paste)#添加窗口標(biāo)題
self.setWindowTitle("ToolBarDemo")deftoolbtnpressed(self, a):print("按下的ToolBar按鈕是", a.text()) #打印點(diǎn)擊的按鈕名稱
if __name__ == '__main__':
app=QApplication(sys.argv)
app.setWindowIcon(QIcon("images/icon.ico"))#創(chuàng)建一個(gè)主窗口
mainWin =DemoWin()#顯示
mainWin.show()#主循環(huán)
sys.exit(app.exec_())
實(shí)現(xiàn)效果:
三、狀態(tài)欄
狀態(tài)欄存在于窗口的最下方,用于顯示信息。
Demo:
importsys#導(dǎo)入QT,其中包含一些常量,例如顏色等
from PyQt5.QtCore importQt#導(dǎo)入常用組件
from PyQt5.QtWidgets importQApplication, QMainWindowfrom PyQt5.QtWidgets importQAction, QStatusBar#使用調(diào)色板等
from PyQt5.QtGui importQIconclassDemoWin(QMainWindow):def __init__(self):
super().__init__()
self.initUI()definitUI(self):
self.resize(400, 250)
fileBar= self.addToolBar("File")
new= QAction(QIcon('./images/new.jpg'), "新建", self)
fileBar.addAction(new)
open= QAction(QIcon('./images/open.jpg'), "打開(kāi)", self)
fileBar.addAction(open)
fileBar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
fileBar.actionTriggered.connect(self.toolbtnpressed)
editBar= self.addToolBar("Edit")
copy= QAction("復(fù)制", self)
editBar.addAction(copy)
paste= QAction("粘貼", self)
editBar.addAction(paste)#定義一個(gè)狀態(tài)欄,并添加到窗口上
self.statusBar =QStatusBar()
self.setStatusBar(self.statusBar)#添加窗口標(biāo)題
self.setWindowTitle("StatusBarDemo")deftoolbtnpressed(self, a):
self.statusBar.showMessage(a.text()+ "按鈕被點(diǎn)擊了.", 2000) #2000表示顯示2s消失
if __name__ == '__main__':
app=QApplication(sys.argv)
app.setWindowIcon(QIcon("images/icon.ico"))#創(chuàng)建一個(gè)主窗口
mainWin =DemoWin()#顯示
mainWin.show()#主循環(huán)
sys.exit(app.exec_())
實(shí)現(xiàn)效果:
====
總結(jié)
以上是生活随笔為你收集整理的python工具栏消失_[Python自学] PyQT5-菜单栏、工具栏、状态栏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python登陆界面代码_python编
- 下一篇: websocket python爬虫_p