利用PyQt5和Qt Designer建设Python GUI应用措施(五)

这篇PyQt5教程将向您展示如何利用pyqt建设动静框/弹出窗口。我们将利用QMessageBox类来完成此操纵。

如何建设PyQt5动静框:

为了显示一个动静框,我们需要导入QMessageBox。

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox

我们利用要领QMessageBox.question()来显示动静框。

PyQt5动静框代码

复制下面的代码以显示一个动静框。

import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox from PyQt5.QtGui import QIcon from PyQt5.QtCore import pyqtSlot class Linuxidc(QWidget): def __init__(self): super().__init__() self.title = 'PyQt5动静框 - Linux公社 ' self.left = 50 self.top = 50 self.width = 600 self.height = 400 self.initUI() def initUI(self): self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) buttonReply = QMessageBox.question(self, 'PyQt5动静框', "你喜欢PyQt5吗?Linux公社 ", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if buttonReply == QMessageBox.Yes: print('单击Yes') else: print('单击No') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Linuxidc() sys.exit(app.exec_())

运行以下代码:

利用PyQt5和Qt Designer建设Python GUI应用措施(五)

利用PyQt5和Qt Designer建设Python GUI应用措施(五)

动静框的更多按钮

思量到我们利用QMessageBox.Yes和QMessageBox.No。 我们可以轻松添加其他选项:

buttonReply = QMessageBox.question(self, 'PyQt5动静框', "你喜欢PyQt5吗?Linux公社 ", QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel, QMessageBox.Cancel) print(int(buttonReply)) if buttonReply == QMessageBox.Yes: print('点击了YES') if buttonReply == QMessageBox.No: print('点击了No') if buttonReply == QMessageBox.Cancel: print('打消')

可用的按钮有:

QMessageBox.Cancel QMessageBox.Ok QMessageBox.Help
QMessageBox.Open QMessageBox.Save QMessageBox.SaveAll
QMessageBox.Discard QMessageBox.Close QMessageBox.Apply
QMessageBox.Reset QMessageBox.Yes QMessageBox.YesToAll
QMessageBox.No QMessageBox.NoToAll QMessageBox.NoButton
QMessageBox.RestoreDefaults QMessageBox.Abort QMessageBox.Retry
QMessageBox.Ignore

建设弹出窗口:

PyQt QMessageBox,可以用来建设对话框。这是一个你常常在桌面上看到的小弹出窗口。

它大概是一动作静,“您确定要生存吗?”动静或更高级的对象。

这个动静框支持各类变革和按钮。接下来你将进修如何建设一个信息对话框窗口。

对话框

初始窗口

建设一个带有按钮的窗口。假如你点击按钮,对话框就会弹出。

(PyQt也是在这里初始化的。)

def window(): app = QApplication(sys.argv) win = QWidget() button1 = QPushButton(win) button1.setText("点击这里显示对话框 ") button1.move(200,50) button1.clicked.connect(showDialog) win.setWindowTitle("显示对话框") win.show() sys.exit(app.exec_())

因此,让我们看一下showDialog()。

建设一个对话框

利用QMessageBox()建设一个对话框。 不要健忘从PyQt5导入它。

from PyQt5.QtWidgets import QPushButton

然后利用setIcon(), setText(), setWindowTitle()要领配置窗口装饰。

您可以利用setStandardButtons()设置对话框按钮。

def showDialog(): msgBox = QMessageBox() msgBox.setIcon(QMessageBox.Information) msgBox.setText("动静框弹出窗口") msgBox.setWindowTitle("动静框示例") msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) msgBox.buttonClicked.connect(msgButtonClick) returnValue = msgBox.exec() if returnValue == QMessageBox.Ok: print('点击了 OK')

完整代码:

import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox from PyQt5.QtGui import QIcon from PyQt5.QtCore import pyqtSlot def window(): app = QApplication(sys.argv) win = QWidget() button1 = QPushButton(win) button1.setText("点击这里显示对话框 ") button1.move(200,50) button1.clicked.connect(showDialog) win.setWindowTitle("显示对话框") win.show() sys.exit(app.exec_()) def showDialog(): msgBox = QMessageBox() msgBox.setIcon(QMessageBox.Information) msgBox.setText("动静框弹出窗口") msgBox.setWindowTitle("动静框示例") msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) msgBox.buttonClicked.connect(msgButtonClick) returnValue = msgBox.exec() if returnValue == QMessageBox.Ok: print('点击了 OK') def msgButtonClick(i): print("点击的按钮是:",i.text()) if __name__ == '__main__': window()

运行代码:

利用PyQt5和Qt Designer建设Python GUI应用措施(五)

利用PyQt5和Qt Designer建设Python GUI应用措施(五)

本文临时先这样,有空再增补,请继承存眷本文。

在下一个教程中,我们将接头如何利用ComboBoxes组合框。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsdjpw.html