1. 程式人生 > 其它 >4.1 QWidget控制元件裁剪和繼承

4.1 QWidget控制元件裁剪和繼承

一、QWidget控制元件裁剪和繼承

1.基本概念

QWidget作為控制元件類的基類,一般我們在定義控制元件的時候都會繼承QWidget,一旦這種繼承關係產生,內部的子控制元件的尺寸都要受到父控制元件的制約,多出的部分沒有辦法單獨展現出來。

2.程式碼

from PyQt5.Qt import *  # 應用所有包
import sys


class Window(QWidget) :
    def __init__(self) :
        super().__init__()  #呼叫父類QWidgt中的init方法
        self.setWindowTitle("控制元件")  # 名稱
        self.resize(600, 500)  # 大小
        self.func_list()  # 方法列表

    # 方法列表
    def func_list(self) :
        self.func()  # 呼叫下面的方法

    # 特定方法
    def func(self) :
        label = QLabel(self)
        label.resize(158,88) #裁剪 若為158,800,圖形還是根據視窗的大小展示
        label.move(50,50) #子控制元件的展示無法超越主控制元件 若為50,550 就找不到了
        label.setStyleSheet('background-color:green')


# 第一種呼叫方法
if __name__ == '__main__' :
    app = QApplication(sys.argv)  # 建立一個應用程式物件
    # 呼叫方法
    window = Window()
    # 方法展示
    window.show()

    # window.setObjectName('1111') #呼叫父類的方法
    # print(window.objectName())

    sys.exit(app.exec_())  # 0是正常退出 迴圈展示

3.效果展示