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

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

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

一、簡(jiǎn)介

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

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

二、小部件列表

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

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

# 僅用于訪(fǎng)問(wèn)命令行參數(shù)
import sys


# 子類(lèi)QMainWindow來(lái)定制你的應(yīng)用程序的主窗口
class MainWindow(QMainWindow):

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

        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)
        
        # 設(shè)置窗口的中心部件。小部件將在默認(rèn)情況下展開(kāi)以占據(jù)窗口中的所有空間。
        self.setCentralWidget(widget)


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

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

# 啟動(dòng).
app.exec_()

運(yùn)行效果:

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

 

三、QLabel

我們從最簡(jiǎn)單的小部件QLabl開(kāi)始。廢話(huà)不多說(shuō)上代碼~~~

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

# 僅用于訪(fǎng)問(wèn)命令行參數(shù)
import sys


# 子類(lèi)QMainWindow來(lái)定制你的應(yīng)用程序的主窗口
class MainWindow(QMainWindow):

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

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


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

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

# 啟動(dòng).
app.exec_()

運(yùn)行效果:

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

 

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

四、QCheckBox

QCheckBox是向用戶(hù)顯示一個(gè)可復(fù)選框。與所有Qt小部件一樣,有許多可配置的選項(xiàng)可以更改小部件的行為。

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

# 僅用于訪(fǎng)問(wèn)命令行參數(shù)
import sys


# 子類(lèi)QMainWindow來(lái)定制你的應(yīng)用程序的主窗口
class MainWindow(QMainWindow):

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

        widget = QCheckBox()
        # 設(shè)置復(fù)選框狀態(tài) 分別為:Qt.Unchecked 未選中  Qt.PartiallyChecked 中間狀態(tài)(沒(méi)有被選中,也沒(méi)有不被選中) 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)


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

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

# 啟動(dòng).
app.exec_()

五、QComboBox

QComboBox是一個(gè)下拉列表,默認(rèn)情況下關(guān)閉,用箭頭打開(kāi)。您可以從列表中選擇一個(gè)項(xiàng)目,當(dāng)前選中的項(xiàng)目將顯示為小部件上的標(biāo)簽。組合框適合于從一長(zhǎng)列選項(xiàng)中選擇一個(gè)選項(xiàng)。

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

# 僅用于訪(fǎng)問(wèn)命令行參數(shù)
import sys


# 子類(lèi)QMainWindow來(lái)定制你的應(yīng)用程序的主窗口
class MainWindow(QMainWindow):

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

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

        # 默認(rèn)傳遞索引
        widget.currentIndexChanged.connect( self.index_changed )
        
        # 同樣的信號(hào)也可以發(fā)送文本
        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)


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

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

# 啟動(dòng).
app.exec_()

六、QLineEdit

QLineEdit小部件是一個(gè)簡(jiǎn)單的單行文本編輯框,用戶(hù)可以在其中輸入信息。例如,在輸入電子郵件地址或計(jì)算機(jī)名稱(chēng)時(shí)。

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

# 僅用于訪(fǎng)問(wèn)命令行參數(shù)
import sys


# 子類(lèi)QMainWindow來(lái)定制你的應(yīng)用程序的主窗口
class MainWindow(QMainWindow):

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

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

        #widget.setReadOnly(True) # 設(shè)置只讀
        
        widget.returnPressed.connect(self.return_pressed) # 回車(chē)事件
        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)


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

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

# 啟動(dòng).
app.exec_()

分享到:
標(biāo)簽:PyQt5
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定