接下来这个专题介绍PyQt的一些内容

教程翻译自:

https://www.tutorialspoint.com/pyqt/pyqt_introduction.htm

由于本人也是学习状态,翻译可能不准确,请及时指出,我会很快修正

一些关键字会直接使用英文

目前该专题为纯理论,实际操作在完成后有演示

PyQt版本: PyQt4

1. 什么是QMessageBox

QMessageBox是一个经常用到的modal 对话框,用来显示一些信息

还可以用来响应用户的选择,这些选择是经过预先定义的

2. QMessageBox的一些方法

setIcon()

显示一些预先定义的图标用来表示消息的级别

1.png
2.png
3.png
4.png

setText()

设置主消息的内容

setInformativeText()

设置额外信息的内容

setDetailText()

设置详细信息的内容

setTitle()

设定标题

setStandardButtons()

设置预先定义的按钮,如OK Cancel等

setDefaultButton()

设置默认的按钮,即当按回车时点击的按钮

setEscapeButton()

设置按 escape 时点击的按钮

3. 应用举例

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *

def window():
   app = QApplication(sys.argv)
   w = QWidget()
   b = QPushButton(w)
   b.setText("Show message!")

   b.move(50,50)
   b.clicked.connect(showdialog)
   w.setWindowTitle("PyQt Dialog demo")
   w.show()
   sys.exit(app.exec_())

def showdialog():
   msg = QMessageBox()
   msg.setIcon(QMessageBox.Information)

   msg.setText("This is a message box")
   msg.setInformativeText("This is additional information")
   msg.setWindowTitle("MessageBox demo")
   msg.setDetailedText("The details are as follows:")
   msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
   msg.buttonClicked.connect(msgbtn)

   retval = msg.exec_()
   print "value of pressed message box button:", retval

def msgbtn(i):
   print "Button pressed is:",i.text()

if __name__ == '__main__': 
   window()
5.png
6.png