上一篇提到的 QMessage 用到的是一個單獨的QMessage 物件
實際應用中並不會這麼單純,
實際應用中一定是有個事件被觸發然後跳出 QMessage
最常見的是一個 button 被按下 , 然後就跳出 QMessageBox 提示
所以下面的用這例子來做範例
這個範例我們會用 function 方式 , 而先不用物件的方式, 但兩者其實差異不大
首先先 define 兩個 function, 一個 function 是顯示我們的主 GUI
主UI 上會有 一個 buton 物件
看看下面的程式 def window() 內跟上面寫的單一功能其實是一樣的
當 button 被按下就會呼叫 showDialog() function
最後加入
if __name__ == '__main__':
window()
讓程式一開此就執行 window() function
是不是很簡單
def window():
app = QApplication(sys.argv)
win = QWidget()
button1 = QPushButton(win)
button1.setText("Show dialog!")
button1.move(50,50)
button1.clicked.connect(showDialog)
win.setWindowTitle("Click button")
win.show()
sys.exit(app.exec_())
def showDialog():
msgBox = QMessageBox()
msgBox.setIcon(QMessageBox.Information)
msgBox.setText("Message box pop up window")
msgBox.setWindowTitle("QMessageBox Example")
msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
msgBox.buttonClicked.connect(msgButtonClick)
returnValue = msgBox.exec()
if returnValue == QMessageBox.Ok:
print('OK clicked')
def msgButtonClick(i):
print("Button clicked is:",i.text())
if __name__ == '__main__':
window()
實際應用中並不會這麼單純,
實際應用中一定是有個事件被觸發然後跳出 QMessage
最常見的是一個 button 被按下 , 然後就跳出 QMessageBox 提示
所以下面的用這例子來做範例
這個範例我們會用 function 方式 , 而先不用物件的方式, 但兩者其實差異不大
首先先 define 兩個 function, 一個 function 是顯示我們的主 GUI
主UI 上會有 一個 buton 物件
看看下面的程式 def window() 內跟上面寫的單一功能其實是一樣的
當 button 被按下就會呼叫 showDialog() function
最後加入
if __name__ == '__main__':
window()
讓程式一開此就執行 window() function
是不是很簡單
def window():
app = QApplication(sys.argv)
win = QWidget()
button1 = QPushButton(win)
button1.setText("Show dialog!")
button1.move(50,50)
button1.clicked.connect(showDialog)
win.setWindowTitle("Click button")
win.show()
sys.exit(app.exec_())
def showDialog():
msgBox = QMessageBox()
msgBox.setIcon(QMessageBox.Information)
msgBox.setText("Message box pop up window")
msgBox.setWindowTitle("QMessageBox Example")
msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
msgBox.buttonClicked.connect(msgButtonClick)
returnValue = msgBox.exec()
if returnValue == QMessageBox.Ok:
print('OK clicked')
def msgButtonClick(i):
print("Button clicked is:",i.text())
if __name__ == '__main__':
window()
沒有留言:
張貼留言