get paid

Get paid for the tasks you do online

2019年1月27日 星期日

PyQT5 教學 -- QMessage Box 教學-2

上一篇提到的 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()


沒有留言:

張貼留言

ChartGPT 學 python 很強喔

 ChartGPT 最近很紅 ,  前一陣子有一些小 module  本來想 google  一下 語法 但發現用 chartGPT 直接請他給 sample code 反而較快 所以只要你有基本 知識 ChartGPT 可以加速你的開發 好用喔