• 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_())

    天子骄龙

  • 相关阅读:
    Some notes in Stanford CS106A(4)
    Some notes in Stanford CS106A(3)
    Some notes in Stanford CS106A(2)
    Some notes in Stanford CS106A(1)
    将前台页面的数据传到后台的方法(不调用ajax,少量数据)
    12、(扩展)获取省份表,填充于下拉列表框的简易js
    iframe刷新问题
    MVC基础
    DataList
    序列化
  • 原文地址:https://www.cnblogs.com/liming19680104/p/10834523.html
Copyright © 2020-2023  润新知