PySide教程:一個簡單的點擊按鈕示例
在這篇文章里,我們將為你展示如何使用PySide使用信號、槽機制。基本來說,這是Qt提供給你的允許一個圖形控件與其他圖形控件或者python代碼進行通訊的特性。
我們將要創建一個應用,你點擊應用中的按鈕后將在Python終端里顯示"Hello World"字樣。
下面讓我們引入必要的Qt類以及python sys類。
import sys
from PySide.QtCore import *
from PySide.QtGui import *
from PySide.QtCore import *
from PySide.QtGui import *
同時,創建一個python函數,只是用來向終端寫入"Hello World"
# Greetings
def sayHello():
print "Hello World!"
def sayHello():
print "Hello World!"
現在,就像在PySide教程:第一個PySide應用 里提到的,你必須在運行PySide代碼前先創建QApplication。輸入以下代碼
# Create the Qt Application
app = QApplication(sys.argv)
app = QApplication(sys.argv)
讓我們創建可以點擊的按鈕,QPushButton。我們傳給構造函數一個python字符串,顯示在按鈕之上。
# Create a button
button = QPushButton("Click me")
button = QPushButton("Click me")
在顯示按鈕之前,我們必須把按鈕和之前定義的函數sayHello()連起來。目前來說,有兩種方法可以達到這個效果 -- 一種舊方式,一種新方式。新方式更符合python的風格(pythonic)。我們在這里使用新方式。你現在可以在 PySide中的信號和槽 找到更多信息。
QPushButton已經預定義了一個名為clicked的信號,每次按鈕按下后都會發射這個信號。我們現在將它和函數sayHello()連接起來。
# Connect the button to the function
button.clicked.connect(sayHello)
button.clicked.connect(sayHello)
最終,我們顯示這個按鈕,并進入Qt主循環。
# Show the button
button.show()
# Run the main Qt loop
app.exec_()
button.show()
# Run the main Qt loop
app.exec_()
每次你點擊按鈕,你都能在終端里看到"Hello World"字樣。
完整代碼:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PySide.QtCore import *
from PySide.QtGui import *
def sayHello():
print "Hello World!"
# Create the Qt Application
app = QApplication(sys.argv)
# Create a button, connect it and show it
button = QPushButton("Click me")
button.clicked.connect(sayHello)
button.show()
# Run the main Qt loop
app.exec_()
# -*- coding: utf-8 -*-
import sys
from PySide.QtCore import *
from PySide.QtGui import *
def sayHello():
print "Hello World!"
# Create the Qt Application
app = QApplication(sys.argv)
# Create a button, connect it and show it
button = QPushButton("Click me")
button.clicked.connect(sayHello)
button.show()
# Run the main Qt loop
app.exec_()
全站熱搜