pyqt5-QFrame邊框樣式


 

繼承  QObject-->QWidget-->QFrame  

是一個基類, 可以選擇直接使用,主要是用來控制一些邊框樣式:例如:凸起、凹下、陰影、線寬

 QFrame對象效果對照圖:

import sys
from PyQt5.QtWidgets import QApplication, QWidget,QFrame
from PyQt5.QtCore import QRect

class Demo(QWidget):
    def __init__(self):
        super().__init__()
        self.resize(300,300)
        frame=QFrame(self)  #創建實例
        frame.resize(100,100)
        frame.move(100,50)
        #注意:此時是看不到控件的
        frame.setStyleSheet('background-color:red;')  #設置背景色

        frame.setFrameShape(QFrame.Box)  #設置框架形狀
        #QFrame.NoFrame    QFrame什么都沒畫
        #QFrame.Box=1           QFrame圍繞其內容繪制一個框
        #QFrame.Panel=2      QFrame繪制一個面板,使內容顯得凸起或凹陷
        #QFrame.HLine      QFrame繪制一條沒有框架的水平線(用作分隔符)
        #QFrame.VLine      QFrame繪制一條無框架的垂直線(用作分隔符)
        #QFrame.StyledPanel    繪制一個矩形面板,其外觀取決於當前的GUI樣式。它可以升起或凹陷
        #QFrame.WinPanel   繪制一個可以像Windows 2000中那樣凸起或凹陷的矩形面板。指定此形狀可將線寬設置為2像素。WinPanel是為了兼容性而提供的。對於GUI樣式獨立性,建議使用StyledPanel。

        s=frame.frameShape() #返回框架形狀,一個整數值
        print(s)

        frame.setFrameShadow(QFrame.Sunken)  #設置框架陰影
        #QFrame.Plain    框架和內容與周圍環境呈現水平;(沒有任何3D效果)
        #QFrame.Raised=32   框架和內容出現; 使用當前顏色組的淺色和深色繪制3D凸起線
        #QFrame.Sunken=48   框架和內容出現凹陷; 使用當前顏色組的淺色和深色繪制3D凹陷線
        s=frame.frameShadow() #返回陰影值
        print(s)
        frame.setLineWidth(6)  #設置外線寬度
        s=frame.lineWidth()  #返回外線寬度
        print(s)
        frame.setMidLineWidth(12)  #設置中線寬度
        s=frame.midLineWidth()  #返回中線寬度
        s=frame.frameWidth()  #返回總寬度.注意:內線寬度=外線寬度
        print(s)

        frame.setFrameStyle(QFrame.Box | QFrame.Sunken)  #框架樣式=框架形狀+框架陰影

        frame.setFrameRect(QRect(20,20,60,60))  #框架矩形
        s=frame.frameRect() #返回框架矩形
        print(s)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    demo.show()
    sys.exit(app.exec_())

 

 

 

天子驕龍


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM