PySide2基礎篇(三)——QPushButton運用

PySide2基礎篇(三)——QPushButton運用

前言:
閱讀這篇文章我能學到什麼?
  按鈕是對話框應用程序常用的控件之一,這篇文章介紹QPushButton按鈕控件的簡單用法,如果你想快速上手就請閱讀這篇文章。

——如果你覺得這是一篇不錯的博文,希望你能給一個小小的贊,感謝您的支持。

1 創建一個按鈕

  按鈕是對話框交互過程中最常用的控件之一,PySide2爲我們提供了一個類PushButton用於生成按鈕。下面我們嘗試示例化它創建一個按鈕控件。
  代碼示例:

from PySide2.QtWidgets import QApplication, QPushButton

app = QApplication([])
PushButton = QPushButton("初始文本")

PushButton.show()
app.exec_()

  運行結果:
在這裏插入圖片描述
  給構造函數傳入的字符串"初始文本"會在按鈕上顯示,若不想顯示任何文本可將參數留空。如果後續想要修改按鈕顯示的文本內容可調用setText()函數進行文本內容修改。
  代碼示例:

from PySide2.QtWidgets import QApplication, QPushButton

app = QApplication([])
PushButton = QPushButton("初始文本")
PushButton.setText("修改文本")             #修改文本內容

PushButton.show()
app.exec_()

  運行結果:
在這裏插入圖片描述

2 給按鈕添加點擊事件

  點擊按鈕必然會引起程序執行一些動作,這些動作是由開發者自己定義的,實現形式通常都是利用回調函數形式。在PySide2中有Slot即插槽的概念,其實就是裝飾器(如果對裝飾器不瞭解的可以參考我的python3高級篇教程,有詳細介紹裝飾器)。
  代碼示例:

from PySide2.QtWidgets import QApplication, QPushButton
from PySide2.QtCore import Slot

@Slot()
def PressButton():
    print("Hello World!")

app = QApplication([])
PushButton = QPushButton("初始文本")
PushButton.clicked.connect(PressButton)

PushButton.show()
app.exec_()

  運行結果:
在這裏插入圖片描述
  每次點擊後釋放按鍵都會去調用PressButton函數,該函數的功能就是打印一串字符串"Hello World"

3 個性化按鈕

  因爲是基礎篇,這裏只介紹一些基礎的設置。

3.1 給按鈕添加圖標

  和QLabel類似,既可以給按鈕添加像素圖QPixmap和可以添加圖標QIcon
  代碼示例:

from PySide2.QtWidgets import QApplication, QPushButton
from PySide2.QtCore import Slot
from PySide2.QtGui import QPixmap

@Slot()
def PressButton():
    print("Hello World!")

app = QApplication([])
PixMap = QPixmap(".\png\PushButton.png")
PushButton = QPushButton(PixMap, "初始文本")
PushButton.clicked.connect(PressButton)

PushButton.show()
app.exec_()

  運行結果:
在這裏插入圖片描述
  可以看到同時顯示了像素圖和文本內容。我們再嘗試添加圖標試試。
  代碼示例:

from PySide2.QtWidgets import QApplication, QPushButton
from PySide2.QtCore import Slot
from PySide2.QtGui import QIcon

@Slot()
def PressButton():
    print("Hello World!")

app = QApplication([])
Icon = QIcon(".\png\PushButton.ico")
PushButton = QPushButton(Icon, "初始文本")
PushButton.clicked.connect(PressButton)

PushButton.show()
app.exec_()

  運行結果:
在這裏插入圖片描述

3.2 給按鈕設置背景色

  很多控件都可以調用setStyleSheet方法對外觀進行設置,這裏我們嘗試通過它將按鈕顏色修改爲綠色。

from PySide2.QtWidgets import QApplication, QPushButton
from PySide2.QtCore import Slot
from PySide2.QtGui import QPixmap

@Slot()
def PressButton():
    print("Hello World!")

app = QApplication([])
PushButton = QPushButton("初始文本")
PushButton.clicked.connect(PressButton)
PushButton.setStyleSheet("background-color:green")

PushButton.show()
app.exec_()

  運行結果:
在這裏插入圖片描述

4 按鈕的其他功能設置

4.1 菜單按鈕

  菜單按鈕常運用於工具欄,它使得對具有特定功能的按鍵進行分類管理,節省界面空間。
  代碼示例:

from PySide2.QtWidgets import QApplication, QPushButton
from PySide2.QtWidgets import QMenu

app = QApplication([])
PushButton = QPushButton("初始文本")
Menu = QMenu()
Menu.addAction("1")
Menu.addAction("2")
Menu.addAction("3")
PushButton.setMenu(Menu)

PushButton.show()
app.exec_()

  運行結果:
在這裏插入圖片描述

4.2 失能按鈕(置灰)

  有時按鈕之間具有一些邏輯,當你點了某個按鈕之後,其他按鈕需要將其失效,這時候就要讓按鈕暫時被“置灰”。
  代碼示例:

from PySide2.QtWidgets import QApplication, QPushButton

app = QApplication([])
PushButton = QPushButton("初始文本")
PushButton.setEnabled(False)

PushButton.show()
app.exec_()

  運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章