PyQt5中的问号按钮

时间:2017-04-16 10:35:36

标签: python pyqt pyqt5

点击问号按钮后如何显示消息框?我从帖子中尝试了一些代码,但它没有用。

问号:

image

1 个答案:

答案 0 :(得分:0)

QMessageBox是一个常用的模式对话框,用于显示某些信息性消息,并可选择通过单击其上的任何一个标准按钮来要求用户进行响应。每个标准按钮都有一个预定义的标题,一个角色,并返回一个预定义的十六进制数字。

下表中给出了与QMessageBox类相关的重要方法和枚举 -

S.No.        Methods & Description

setIcon()    Displays predefined icon corresponding to severity of the message

Question     Question

Information Information

Warning     Warning

Critical     Critical

setText()    Sets the text of the main message to be displayed

setInformativeText() Displays additional information

setDetailText()  Dialog shows a Details button. This text appears on clicking it

setTitle()  Displays the custom title of dialog


setStandardButtons()  List of standard buttons to be displayed. Each button is associated with

QMessageBox.Ok 0x00000400

QMessageBox.Open 0x00002000

QMessageBox.Save 0x00000800

QMessageBox.Cancel 0x00400000

QMessageBox.Close 0x00200000

QMessageBox.Yes 0x00004000

QMessageBox.No 0x00010000

QMessageBox.Abort 0x00040000

QMessageBox.Retry 0x00080000

QMessageBox.Ignore 0x00100000


setDefaultButton()  Sets the button as default. It emits the clicked signal if Enter is pressed

setEscapeButton()  Sets the button to be treated as clicked if the escape key is pressed

直接来自here

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()