PyQt5_基础控件使用

本文内容将持续更新

QGroupBox

 

import sys
from PyQt5 import QtCore,QtWidgets

class GroupBoxWidget(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.init_data()
        self.init_ui()
    def init_data(self):
        pass
    def init_ui(self):
        self.setWindowTitle('QGroupBox实例')
        self.resize(400,300)
        groupbox = QtWidgets.QGroupBox('内容',self)
        label1 = QtWidgets.QLabel('桃园三结义')
        label2 = QtWidgets.QLabel('黛玉葬花')
        label3 = QtWidgets.QLabel('孙悟空大闹天宫')
        label4 = QtWidgets.QLabel('武松打虎')
        btn5 = QtWidgets.QPushButton('四大名著')
        layout_box = QtWidgets.QVBoxLayout()
        layout_box.addWidget(label1)
        layout_box.addWidget(label2)
        layout_box.addWidget(label3)
        layout_box.addWidget(label4)
        layout_box.addWidget(btn5)
        layout_box.addStretch(1)
        groupbox.setLayout(layout_box)

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(groupbox)
        self.setLayout(layout)
        pass

if __name__ == '__main__':
    QtCore.QCoreApplication.setAttribute(QtCore.Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
    app = QtWidgets.QApplication(sys.argv)
    temp_widget = GroupBoxWidget()
    temp_widget.show()
    app.exec()
    pass

QScrollArea

import sys
from PyQt5 import QtCore,QtWidgets

class QScrollAreaWidget(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.init_data()
        self.init_ui()
    def init_data(self):
        pass
    def init_ui(self):
        self.setWindowTitle('QScrollArea实例')
        self.resize(400,200)

        label_title = QtWidgets.QLabel('下面的内容都在QScrollArea中')

        label_00 = QtWidgets.QLabel('中国古典名著')
        label_01 = QtWidgets.QLabel('红楼梦')
        label_02 = QtWidgets.QLabel('三国演义')
        label_03 = QtWidgets.QLabel('水浒传')
        label_04 = QtWidgets.QLabel('西游记')

        groupbox = QtWidgets.QGroupBox('内容',self)
        label1 = QtWidgets.QLabel('桃园三结义')
        label2 = QtWidgets.QLabel('黛玉葬花')
        label3 = QtWidgets.QLabel('孙悟空大闹天宫')
        label4 = QtWidgets.QLabel('武松打虎')
        btn5 = QtWidgets.QPushButton('四大名著')
        layout_box = QtWidgets.QVBoxLayout()
        layout_box.addWidget(label1)
        layout_box.addWidget(label2)
        layout_box.addWidget(label3)
        layout_box.addWidget(label4)
        layout_box.addWidget(btn5)
        layout_box.addStretch(1)
        groupbox.setLayout(layout_box)

        btn_00 = QtWidgets.QPushButton('分享')
        btn_01 = QtWidgets.QPushButton('打开')

        layout_area = QtWidgets.QVBoxLayout()
        layout_area.addWidget(label_00)
        layout_area.addWidget(label_01)
        layout_area.addWidget(label_02)
        layout_area.addWidget(label_03)
        layout_area.addWidget(label_04)
        layout_area.addWidget(groupbox)
        layout_area.addWidget(btn_00)
        layout_area.addWidget(btn_01)

        area_content_widget = QtWidgets.QWidget()
        area_content_widget.setLayout(layout_area)

        scroll_area = QtWidgets.QScrollArea()
        scroll_area.setWidget(area_content_widget)
        scroll_area.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(label_title)
        layout.addWidget(scroll_area)
        self.setLayout(layout)
        pass

if __name__ == '__main__':
    QtCore.QCoreApplication.setAttribute(QtCore.Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
    app = QtWidgets.QApplication(sys.argv)
    temp_widget = QScrollAreaWidget()
    temp_widget.show()
    app.exec()
    pass

QLabel

常用方法

方法描述
setAlignment()

按固定值方式对齐文本:

Qt.AlignLeft        Qt.AlignRight        Qt.ALignCenter        Qt.AlignJustify

Qt.AlignTop        Qt.AlignBottom        Qt.AlignVCenter

setIndent()设置文本缩进
setPixmap()设置Qlabel为一个Pixmap图片
text()获取文本内容
setText()设置文本内容
selectedText()返回所选择的字符
setBuddy()设置QLabel的助记符及buddy(伙伴),即使用QLabel设置快捷键,会在快捷键后将焦点设置到其buddy上,这里用到了QLabel的交互控件功能。此外,buddy可以是任何一个widget控件,使用setBuddy(QWidget *)设置,其QLabel必须是文本内容,并且使用“&”符号设置了助记符
setWordWrap()设置是否允许换行

 给文本添加样式

temp_label = QWidgets.QLabel()
temp_label.setStyleSheet('QLabel{font-size:18px;font-weight:bold;}')

QSpinBox

常用方法

方法描述
setMinimum()设置计数器的下边界
setMaximum()设置计数器的上边界 
setRange()设置计数器的最大值、最小值和步长值
setValue()设置计数器的当前值
value()返回计数器的当前值
singleStep()设置计数器的步长值


版权声明:本文为m0_37967652原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。