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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT教程5:消息框

發布時間:2025/3/21 c/c++ 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT教程5:消息框 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PyQt5 message box

默認情況下,如果我們點擊標題欄上的 x 按鈕,QWidget 會關閉。有時我們想修改這個默認行為。例如,如果我們在編輯器中打開了一個文件,我們對其進行了一些更改。我們顯示一個消息框來確認操作。

messagebox.py

#!/usr/bin/python""" ZetCode PyQt5 tutorialThis program shows a confirmation message box when we click on the close button of the application window.Author: Jan Bodnar Website: zetcode.com """import sys from PyQt5.QtWidgets import QWidget, QMessageBox, QApplicationclass Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300, 300, 250, 150)self.setWindowTitle('Message box')self.show()def closeEvent(self, event):reply = QMessageBox.question(self, 'Message',"Are you sure to quit?", QMessageBox.Yes |QMessageBox.No, QMessageBox.No)if reply == QMessageBox.Yes:event.accept()else:event.ignore()def main():app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())if __name__ == '__main__':main() 如果我們關閉 QWidget,則會生成 QCloseEvent。要修改小部件行為,我們需要重新實現 closeEvent 事件處理程序。

reply = QMessageBox.question(self, 'Message',"Are you sure to quit?", QMessageBox.Yes |QMessageBox.No, QMessageBox.No) 我們顯示一個帶有兩個按鈕的消息框:是和否。第一個字符串出現在標題欄上。第二個字符串是對話框顯示的消息文本。第三個參數指定出現在對話框中的按鈕組合。最后一個參數是默認按鈕。它是最初具有鍵盤焦點的按鈕。返回值存儲在回復變量中。 if reply == QtGui.QMessageBox.Yes:event.accept() else:event.ignore() 這里我們測試返回值。如果我們單擊 Yes 按鈕,我們將接受導致窗口小部件關閉和應用程序終止的事件。否則我們忽略關閉事件。

Figure: Message box

Centering window on the screen

以下腳本顯示了我們如何在桌面屏幕上居中放置一個窗口。

center.py

#!/usr/bin/python""" ZetCode PyQt5 tutorialThis program centers a window on the screen.Author: Jan Bodnar Website: zetcode.com """import sys from PyQt5.QtWidgets import QWidget, QDesktopWidget, QApplicationclass Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.resize(250, 150)self.center()self.setWindowTitle('Center')self.show()def center(self):qr = self.frameGeometry()cp = QDesktopWidget().availableGeometry().center()qr.moveCenter(cp)self.move(qr.topLeft())def main():app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())if __name__ == '__main__':main() QDesktopWidget 類提供有關用戶桌面的信息,包括屏幕大小。 self.center() 將窗口居中的代碼放置在自定義中心方法中 qr = self.frameGeometry() 我們得到一個指定主窗口幾何形狀的矩形。這包括任何窗框。 cp = QDesktopWidget().availableGeometry().center() 我們計算出顯示器的屏幕分辨率。從這個分辨率,我們得到中心點。 qr.moveCenter(cp) 我們的矩形已經有了它的寬度和高度?,F在我們將矩形的中心設置為屏幕的中心。矩形的大小不變。 self.move(qr.topLeft()) 我們將應用程序窗口的左上角移動到 qr 矩形的左上角,從而使窗口在屏幕上居中。在 PyQt5 教程的這一部分中,我們在 PyQt5 中創建了簡單的代碼示例。

總結

以上是生活随笔為你收集整理的QT教程5:消息框的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。