到目前爲止,已經接觸的Pyside的界面元素有以下幾個:QWidget、QPushButton、QLabel。本次再介紹兩個tooltip和messagebox。tooltip是一個鼠標懸浮提示信息,messagebox是一個彈出式對話框信息提示。python
ToolTipapp
1 class Example(QtGui.QWidget): 2 3 def __init__(self): 4 super(Example, self).__init__() 5 6 self.initUI() 7 8 def initUI(self): 9 10 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10)) 11 12 self.setToolTip('This is a <b>QWidget</b> widget') 13 14 btn = QtGui.QPushButton('Button', self) 15 btn.setToolTip('This is a <b>QPushButton</b> widget') 16 btn.resize(btn.sizeHint()) 17 btn.move(50, 50) 18 19 self.setGeometry(300, 300, 250, 150) 20 self.setWindowTitle('Tooltips') 21 self.show() 22 23 def main(): 24 25 app = QtGui.QApplication(sys.argv) 26 ex = Example() 27 sys.exit(app.exec_()) 28 29 30 if __name__ == '__main__': 31 main()
效果以下,當把鼠標放在button上時,會出現一個小小的提示信息This is a QPushButton widget:ide
經過這個例子能夠看到,每一個元素均可以設置本身的tooltip。ui
MessageBoxspa
1 #!/usr/bin/python 2 #coding:utf-8 3 #Filename:messagebox.py 4 import sys 5 from PySide.QtCore import * 6 from PySide.QtGui import * 7 class Example(QWidget): 8 def __init__(self): 9 super(Example ,self).__init__() 10 self.initUI() 11 def initUI(self): 12 self.setGeometry(300,300,250,150) 13 self.setWindowTitle('Message vox') 14 self.show() 15 def closeEvent(self,event): 16 reply = QMessageBox.question(self,'Message','Are you \ 17 sure to quit?',QMessageBox.Yes | QMessageBox.No,\ 18 QMessageBox.No) 19 if reply == QMessageBox.Yes: 20 event.accept() 21 else: 22 event.ignore() 23 24 def main(): 25 app = QApplication(sys.argv) 26 ex = Example() 27 sys.exit(app.exec_()) 28 if __name__ == "__main__": 29 main()
QMessageBox.question(self,'Message','Are you sure to quit?',QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
第一個參數爲Widget,第二個參數爲messagebox的標題,第三個參數爲顯示的內容,第四個參數爲選項,第五個參數爲默認的獲取焦點的選項,這裏時默認爲NO獲取焦點。