<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
最近在用pyqt5設計軟體時,想到了一些關於提示框的操作,如果軟體關閉時可以彈出確定關閉的彈窗;程式執行完成時可以彈出完成的提示;出現錯誤提示出現錯誤的提示等等。在網上查閱了很多,自己總結了一下,今天分享給大家 彈窗的分類: 軟體關閉提示彈框 資訊提示彈框 錯誤提示彈框 資訊警告彈框 關於彈窗
雖然有分類,但是實際操作是大同小異的(每一類都介紹兩種方法)
這類的彈框一般是在整個軟體關閉的時候提醒使用者是否需要退出整個軟體
(構建成函數的方法)
def closeEvent(self, event): #關閉視窗觸發以下事件 a = QMessageBox.question(self, '退出', '你確定要退出嗎?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) #"退出"代表的是彈出框的標題,"你確認退出.."表示彈出框的內容 if a == QMessageBox.Yes: event.accept() #接受關閉事件 else: event.ignore() #忽略關閉事件
(直接放入相關程式執行完畢的後面的方法)
msg_box = QMessageBox(QMessageBox.Question, '退出', '你確定退出嗎?') #退出表示彈出框標題,"你確定退出嗎?"表示彈出框的內容 msg_box.exec_() #執行彈出框 與確定退出的事件繫結可以參考第一種方法
這個彈框一般使用者給使用者展示一些基本資訊
(構建成函數的方法)
def show_message(self): QMessageBox.information(self, "標題", "我很喜歡學習python", QMessageBox.Yes) #最後的Yes表示彈框的按鈕顯示為Yes,預設按鈕顯示為OK,不填QMessageBox.Yes即為預設
(直接放入相關程式執行完畢的後面的方法)
msg_box = QMessageBox(QMessageBox.Information, '標題', '我很喜歡python') msg_box.exec_()
這類的彈框一般用於使用者執行了某些錯誤操作而導致的,這類的錯誤是必須要處理的,必須要提示使用者
(構建成函數的方法)
def show_message(self): QMessageBox.critical(self, "錯誤", "系統錯誤")
(直接放入相關程式執行完畢的後面的方法)
msg_box = QMessageBox(QMessageBox.Critical, '錯誤', '出現錯誤') msg_box.exec_()
這類的彈框一般提示使用者最好操作什麼,警示使用者操作
(構建成函數的方法)
def show_message(self): QMessageBox.warning(self, "警告", "如果在不學習,你會被淘汰", QMessageBox.Cancel)
(直接放入相關程式執行完畢的後面的方法)
msg_box = QMessageBox(QMessageBox.Warning, '警告', '你再不學習就要被淘汰了') msg_box.exec_()
這類彈框主要是給使用者展示系統資訊,軟體介紹,公司介紹之類的
(構建成函數的方法)
def show_message(self): QMessageBox.about(self, "關於", "本文作者QQ 8594969")
(直接放入相關程式執行完畢的後面的方法)
msg_box = QMessageBox(QMessageBox.About, '關於', '本文作者QQ 8594969') msg_box.exec_()
不管上面的那種方法,都要匯入以下依賴包
from PyQt5.QtWidgets import QMessageBox
關於彈出框的圖示問題,我查了很多資料,暫時只知道在相應的主介面設計了QICon()後,彈出框的圖示會與主介面的圖示一樣
python檔案程式碼:
# -*- coding: utf-8 -*- import sys from PyQt5 import QtWidgets class MessageBox(QtWidgets.QWidget):#繼承自父類別QtWidgets.QWidget def __init__(self,parent = None):#parent = None代表此QWidget屬於最上層的視窗,也就是MainWindows. QtWidgets.QWidget.__init__(self)#因為繼承關係,要對父類別初始化 #通過super初始化父類別,__init__()函數無self,若直接QtWidgets.QWidget.__init__(self),括號裡是有self的 self.setGeometry(300, 300, 1000,1000) # setGeometry()方法完成兩個功能--設定視窗在螢幕上的位置和設定視窗本身的大小。它的前兩個引數是視窗在螢幕上的x和y座標。後兩個引數是視窗本身的寬和高 self.setWindowTitle(u'視窗') # 設定表單標題,本行可有可無。 self.button = QtWidgets.QPushButton(u'測試', self) # 建立一個按鈕顯示‘測試'兩字 self.button.move(300,300) self.button.clicked.connect(self.show_message) # 訊號槽 def show_message(self): QtWidgets.QMessageBox.critical(self, "錯誤", "系統錯誤請關機重啟") #內容要長,太短會導致標題顯示不全! app=QtWidgets.QApplication(sys.argv) window=MessageBox() window.show() sys.exit(app.exec_())
結果如下:
到此這篇關於pyqt5彈出提示框的文章就介紹到這了,更多相關pyqt5彈出提示框內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45