1. 程式人生 > >PyQT5 基本控制元件介紹一(QLable, QPushButton, QRadioButton)

PyQT5 基本控制元件介紹一(QLable, QPushButton, QRadioButton)

QLabel

初始化,建構函式

label = QLabel(text)
#text為需要設定的文字資訊

設定文字資訊

label.setText(text)

獲取label文字資訊

message = label.text()

設定文字的對其方式

label.setAlignment(alignment)
# 註解alignment有以下這四種形式(水平方向)
# Qt.AlignLeft
# Qt.AlignHCenter
# Qt.AlignRight
# Qt.ALignJsutify
# 註解alignment有以下這四種形式(垂直方向)
# Qt.AlignTop # Qt.AlignVCenter # Qt.AlignBottom # Qt.AlignBaseline

自動換行設定,當文字內容比較多的時候

lable.setWordWrap(True)

設定margin,類似Android裡面的的Margin

lable.setMargin(margin)

指定縮排

lable.setIndent(indent)

這裡寫圖片描述

QPushButton

建構函式, label是顯示在button的文字

pushbutton = QPushButton(label)

設定文字

pushbutton.setText(text)

設定Flat,不顯示button

pushButton.setFlat(flat)

獲取button的Flat是否設定了Flat

pushButton.isFlat()

按鈕設定點選顯示選單

pushButton.setMenu(menu)
#這裡也就是說明不是非要那種下拉的控制元件才能做這種效果(如下圖),一般的button控制元件也能達到這樣的效果
'''
1,建立一個QPushButton
    button = QPushButton("click me")
2, 建立一個QMenu
    menu = Qmneu()
3, 給menu新增子選單並且繫結事件
    menu.addAction("hello", self.hello)
    這裡的引號裡面的hello表示的是子選單的顯示的名字,而後面的hello表示的如果點選了這個子選單應該執行哪一個函式。

'''

按鈕的點選事件,最基礎的訊號

pushButton.clicked.connect(button_clicked_function)

設定滑鼠移動到上面有提示提示

button.setToolTip("點選退出程式")

這裡寫圖片描述

QRadioButton

建構函式
radiobutton = QRadioButton(label)

設定文字
radiobutton.setText(label)

獲取文字
radiobutton.text()

是否可以被點選
radiobutton.setChecked(checked)

獲取點選的狀態
radiobutton.isChecked()

設定圖片
radioButton.setICon(icon)

這裡寫圖片描述

程式碼如下:

from PyQt5.QtWidgets import *
import sys

class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        layout = QGridLayout()
        self.setLayout(layout)

        radiobutton = QRadioButton("Brazil")
        radiobutton.setChecked(True)
        # 有些人可能對著country屬性不理解,這裡是小編自己定義的一個屬性
        radiobutton.country = "Brazil"
        radiobutton.toggled.connect(self.on_roadio_button_toggled)
        layout.addWidget(radiobutton,0 ,0)

        radiobutton = QRadioButton("Argentina")
        radiobutton.country = "Argentina"
        radiobutton.toggled.connect(self.on_radio_button_toggled)
        layout.addWidget(radiobutton, 0, 1)

        radiobutton = QRadioButton("Ecuador")
        radiobutton.country = "Ecuador"
        radiobutton.toggled.connect(self.on_radio_button_toggled)
        layout.addWidget(radiobutton, 0, 2)

def on_radio_button_toggled(self):
    radiobutton = self.sender()
    if radiobutton.isChecked():
        print("Selected country is %s" % (radiobutton.country))