日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、簡介

在Qt(和大多數用戶界面)中,“小部件”是用戶可以與之交互的UI組件的名稱。用戶界面由布置在窗口內的多個小部件組成。

Qt帶有大量可用的小部件,也允許您創建自己的自定義和自定義小部件。

二、小部件列表

Qt文檔中提供了所有小部件的完整列表,但讓我們快速了解一下它們的實際效果。

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

# 僅用于訪問命令行參數
import sys


# 子類QMainWindow來定制你的應用程序的主窗口
class MainWindow(QMainWindow):

    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        
        self.setWindowTitle("高效碼農")
        

        layout = QVBoxLayout()
        widgets = [QCheckBox,
            QComboBox,
            QDateEdit,
            QDateTimeEdit,
            QDial,
            QDoubleSpinBox,
            QFontComboBox,
            QLCDNumber,
            QLabel,
            QLineEdit,
            QProgressBar,
            QPushButton,
            QRadioButton,
            QSlider,
            QSpinBox,
            QTimeEdit]
        
        for w in widgets:
            layout.addWidget(w())
            
        
        widget = QWidget()
        widget.setLayout(layout)
        
        # 設置窗口的中心部件。小部件將在默認情況下展開以占據窗口中的所有空間。
        self.setCentralWidget(widget)


# 每個應用程序需要一個(且只有一個)QApplication實例。
# 如果確定不會使用命令行參數,QApplication([])也可以。
app = QApplication(sys.argv)

window = MainWindow()
window.show() # 重要!!!!! windows 默認是隱藏的.

# 啟動.
app.exec_()

運行效果:

Python界面(GUI)編程PyQt5窗體小部件

 

三、QLabel

我們從最簡單的小部件QLabl開始。廢話不多說上代碼~~~

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

# 僅用于訪問命令行參數
import sys


# 子類QMainWindow來定制你的應用程序的主窗口
class MainWindow(QMainWindow):

    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        
        self.setWindowTitle("高效碼農")
        

        widget = QLabel("Hello") #用字符串Hello創建 QLabel部件,也可以使用.setText()方法
        # widget.setText("2")
        font = widget.font()
        font.setPointSize(300) # 設置QLabel字體大小
        widget.setFont(font)
        widget.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) # 設置QLabel顯示位置
        
        self.setCentralWidget(widget)


# 每個應用程序需要一個(且只有一個)QApplication實例。
# 如果確定不會使用命令行參數,QApplication([])也可以。
app = QApplication(sys.argv)

window = MainWindow()
window.show() # 重要!!!!! Windows 默認是隱藏的.

# 啟動.
app.exec_()

運行效果:

Python界面(GUI)編程PyQt5窗體小部件

 

請注意,您使用OR管道(|)組合了兩個標志(不是A & B)。這是因為標志是不重疊的位掩碼。例如Qt.AlignLeft具有十六進制值0x0001,Qt.AlignBottom而是0x0040。
通過“或”運算,我們得到0x0041表示“左下” 的值。該原理適用于所有其他組合Qt標志。
如果您覺得這很亂,只記得使用’|‘ 就行了

四、QCheckBox

QCheckBox是向用戶顯示一個可復選框。與所有Qt小部件一樣,有許多可配置的選項可以更改小部件的行為。

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

# 僅用于訪問命令行參數
import sys


# 子類QMainWindow來定制你的應用程序的主窗口
class MainWindow(QMainWindow):

    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        
        self.setWindowTitle("高效碼農")
        

        widget = QCheckBox()
        # 設置復選框狀態 分別為:Qt.Unchecked 未選中  Qt.PartiallyChecked 中間狀態(沒有被選中,也沒有不被選中) Qt.Checked 已選中
        widget.setCheckState(Qt.PartiallyChecked) 

        widget.stateChanged.connect(self.show_state)

        self.setCentralWidget(widget)
        
        
    def show_state(self, s):
        print(s == Qt.Checked)
        print(s)


# 每個應用程序需要一個(且只有一個)QApplication實例。
# 如果確定不會使用命令行參數,QApplication([])也可以。
app = QApplication(sys.argv)

window = MainWindow()
window.show() # 重要!!!!! Windows 默認是隱藏的.

# 啟動.
app.exec_()

五、QComboBox

QComboBox是一個下拉列表,默認情況下關閉,用箭頭打開。您可以從列表中選擇一個項目,當前選中的項目將顯示為小部件上的標簽。組合框適合于從一長列選項中選擇一個選項。

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

# 僅用于訪問命令行參數
import sys


# 子類QMainWindow來定制你的應用程序的主窗口
class MainWindow(QMainWindow):

    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        
        self.setWindowTitle("高效碼農")
        

        widget = QComboBox()
        widget.addItems(["One", "Two", "Three"])

        # 默認傳遞索引
        widget.currentIndexChanged.connect( self.index_changed )
        
        # 同樣的信號也可以發送文本
        widget.currentIndexChanged[str].connect( self.text_changed )

        self.setCentralWidget(widget)


    def index_changed(self, i): # i is an int
        print(i)
        
    def text_changed(self, s): # s is a str
        print(s)


# 每個應用程序需要一個(且只有一個)QApplication實例。
# 如果確定不會使用命令行參數,QApplication([])也可以。
app = QApplication(sys.argv)

window = MainWindow()
window.show() # 重要!!!!! Windows 默認是隱藏的.

# 啟動.
app.exec_()

六、QLineEdit

QLineEdit小部件是一個簡單的單行文本編輯框,用戶可以在其中輸入信息。例如,在輸入電子郵件地址或計算機名稱時。

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

# 僅用于訪問命令行參數
import sys


# 子類QMainWindow來定制你的應用程序的主窗口
class MainWindow(QMainWindow):

    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        
        self.setWindowTitle("高效碼農")
        

        widget = QLineEdit()
        widget.setMaxLength(10)
        widget.setPlaceholderText("Enter your text")

        #widget.setReadOnly(True) # 設置只讀
        
        widget.returnPressed.connect(self.return_pressed) # 回車事件
        widget.selectionChanged.connect(self.selection_changed)
        widget.textChanged.connect(self.text_changed) # 文本改變事件
        widget.textEdited.connect(self.text_edited) # 文本編輯事件

        self.setCentralWidget(widget)
        
        
    def return_pressed(self):
        print("Return pressed!")
        self.centralWidget().setText("BOOM!")

    def selection_changed(self):
        print("Selection changed")
        print(self.centralWidget().selectedText())
        
    def text_changed(self, s):
        print("Text changed...")
        print(s)
            
    def text_edited(self, s):
        print("Text edited...")
        print(s)


# 每個應用程序需要一個(且只有一個)QApplication實例。
# 如果確定不會使用命令行參數,QApplication([])也可以。
app = QApplication(sys.argv)

window = MainWindow()
window.show() # 重要!!!!! Windows 默認是隱藏的.

# 啟動.
app.exec_()

分享到:
標簽:PyQt5
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定