1、QSS基础-设置同类控件样式

'''

QSS基础:Qt Style Sheet

Qt样式表

用于设置控件的样式和风格(比如控件的背景色,字体颜色,字体大小等)

和CSS的功能比较相似,功能相似

'''

from PyQt5.QtCore import *

from PyQt5.QtGui import *

from PyQt5.QtWidgets import *

import sys

class BasicQSS(QWidget):

def __init__(self):

super(BasicQSS,self).__init__()

self.setWindowTitle("QSS控件设置样式基础")

self.b1=QPushButton("按钮1")

self.b2=QPushButton("按钮2")

VBox=QVBoxLayout()

VBox.addWidget(self.b1)

VBox.addWidget(self.b2)

self.setLayout(VBox)

if __name__=="__main__":

app=QApplication(sys.argv)

p=BasicQSS()

#定义所有button控件的样式背景色为红色

#也可以称为控件选择器

qssStyle='''

QPushButton{

background-color:red

}

'''

p.setStyleSheet(qssStyle)

p.show()

sys.exit(app.exec_())

2、QSS选择器设置特定控件样式

'''

QSS基础:Qt Style Sheet

设置某些特定的控件样式

'''

from PyQt5.QtCore import *

from PyQt5.QtGui import *

from PyQt5.QtWidgets import *

import sys

class QSSselector(QWidget):

def __init__(self):

super(QSSselector,self).__init__()

self.setWindowTitle("QSS选择器设置特定控件样式")

self.b1=QPushButton("按钮1")

self.b2=QPushButton("按钮2")

self.b3=QPushButton("按钮3")

#设置控件2的属性,通过属性来进行特定设置样式

self.b1.setProperty("name","bt1")

self.b2.setProperty("name", "bt2")

VBox=QVBoxLayout()

VBox.addWidget(self.b1)

VBox.addWidget(self.b2)

VBox.addWidget(self.b3)

self.setLayout(VBox)

if __name__=="__main__":

app=QApplication(sys.argv)

p=QSSselector()

#控件选择器设置特定控件的属性

qssStyle='''

QPushButton[name="bt2"]{

color:yellow;

height:120;

font-size:60px

}

QPushButton[name="bt1"]{

color:black;

height:60;

font-size:30px

}

'''

p.setStyleSheet(qssStyle)

p.show()

sys.exit(app.exec_())

3、QSS子控件选择器

'''

举例:QComboBox 选择主控件的子控件样式-即一部分组成

'''

from PyQt5.QtWidgets import *

import sys

class QSSselector(QWidget):

def __init__(self):

super(QSSselector,self).__init__()

self.setWindowTitle("QSS子控件选择器")

combox=QComboBox(self)

#设置下拉列表的控件名称

combox.setObjectName("myComboBox")

combox.addItem("Windows")

combox.addItem("Linux")

combox.addItem("Mac OS X")

combox.move(50,50)

self.setGeometry(250,200,320,150)

if __name__=="__main__":

app=QApplication(sys.argv)

p=QSSselector()

#子控件选择器设置下来箭头的图像形式

qssStyle='''

QComboBox#myComboBox::drop-down{

image:url(./image/1.png)

}

'''

p.setStyleSheet(qssStyle)

p.show()

sys.exit(app.exec_())

4、QSS设置方法为标签和按钮添加背景图

'''

使用Qss设定标签和按钮的背景图

'''

from PyQt5.QtWidgets import *

import sys

class labelback(QWidget):

def __init__(self):

super(labelback,self).__init__()

self.setWindowTitle("设置标签背景图")

self.resize(512,288)

label=QLabel(self)

label.setToolTip("这是一个文本标签")

#为label添加背景图

label.setStyleSheet("QLabel{border-image:url(./image/1.png);}")

label.setFixedWidth(400) #设置最大宽度

label.setFixedHeight(200)

b1=QPushButton(self)

b1.setObjectName("b1")

b1.setMaximumSize(100,100) #设置最大宽度与最高宽度

b1.setMinimumSize(48,48)

#为button设置背景图(b1为显示背景图,b1:Pressed是指按下时图片)

style='''

#b1{

border-radius:4px;

background-image:url("./image/0.jpg");

}

#b1:Pressed{

background-image:url("./image/1.png");

}

'''

b1.setStyleSheet(style)

v=QVBoxLayout()

v.addWidget(label)

v.addWidget(b1)

v.addStretch() #添加一下拉伸,随着两控件的大小来进行基于左上角自动伸缩

self.setLayout(v)

if __name__=="__main__":

app=QApplication(sys.argv)

p=labelback()

p.show()

sys.exit(app.exec_())

5、装载QSS文件

'''

在PyQt5中动态装载CSS文件

'''

from PyQt5.QtWidgets import *

import sys

#定义动态读取qss文件类

class common:

@staticmethod

def readQSS(style):

with open(style,"r") as f:

return f.read()

class main(QMainWindow):

def __init__(self):

super(main,self).__init__()

self.setWindowTitle("动态加载QSS文件")

self.resize(477,258)

b1=QPushButton("装载QSS文件按钮")

b1.setToolTip("提示文本")

v=QVBoxLayout()

v.addWidget(b1)

b1.clicked.connect(self.onclick)

self.setLayout(v)

w=QWidget(self)

self.setCentralWidget(w)

w.setLayout(v)

def onclick(self):

stylefile="./style.qss" #本地QSS文件

c=common()

qssstyle=c.readQSS(stylefile)

p.setStyleSheet(qssstyle)

if __name__=="__main__":

app=QApplication(sys.argv)

p=main()

p.show()

sys.exit(app.exec_())

#本地QSS文件style.qss文件代码

QMainWindow{

border-image:url(./image/1.png);

}

QToolTip{

border:1px solid rgb(45,45,45);

background:white;

color:red

}

qss设置平面按钮_QSS基础-设置控件样式相关推荐

  1. QT上设置背景图不影响子控件以及按钮控件的透明化

    QT中设置背景图不影响子控件 QT中设置背景图的方法不少,我这里是直接使用stylesheet来设置背景图.如果直接在UI界面进行如下所示设置 border-image: url(:/resource ...

  2. WPF 控件样式及样式事件设置

    实例下载:WPF控件样式及样式事件设置-C#文档类资源-CSDN下载 封装用户控件实例:图片选择Checkbox(用户控件)-C#文档类资源-CSDN下载 1.直接在代码中设置控件样式(例:设置按键圆 ...

  3. ie浏览器java 脚本下载_如何设置ie浏览器中的activex控件和插件java脚本下载用户验证...

    ActiveX是Microsoft提出的一组使用COM(ComponentObjectModel,部件对象模型)使得软件部件在网络环境中进行交互的技术集.它与具体的编程语言无关.作为针对Interne ...

  4. iOS基础——UI控件之UIAlertController、UINavigationController、Segue、SVProgressHUD

    iOS基础--UI控件之UIAlertController.UINavigationController.Segue 一.UIAlertController 1.普通对话框 -(void)update ...

  5. Qt控件样式之QSS

    QSS常用于Qt的控件样式美化,合理地使用Qss可以完成在不改动代码的情况下改变Qt界面的样式. 官方提供的例子: http://qt-project.org/doc/qt-4.8/styleshee ...

  6. Android - 最基础的控件TextView

    TextView TextView是一个十分简单和基础的控件,相信大家使用TextView主要就是用来显示文字的, 而创建一个项目的时候,页面显示的就一个内容为Hello World 的 TextVi ...

  7. WP8.1学习系列(第二十五章)——控件样式

      XAML 框架提供许多自定义应用外观的方法.通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观. 路线图: 本主题与其他主题有何关联?请参阅: 使用 C# 或 Visua ...

  8. Qt 常用控件样式表及遇到的问题

    Qt界面美化常用到样式表,用好样式表能达到不一样的效果. 样式表用法 常用控件样式表用法如下: /**********子界面背景**********/ QWidget#customWidget {ba ...

  9. WPF Calendar 日历控件 样式自定义

    原文:WPF Calendar 日历控件 样式自定义 粗略的在代码上做了些注释 blend 生成出来的模版 有的时候 会生成 跟 vs ui界面不兼容的代码 会导致可视化设计界面 报错崩溃掉 但是确不 ...

最新文章

  1. Linux下找出吃内存的方法总结
  2. IE与Mozila FireFox 中的 JS
  3. linux系统下用GCC、JAVA和Python编程
  4. js es6数组常用方法:forEach map filter find every
  5. idea autoscroll from source
  6. raspberry pi_在月光下将Raspberry Pi变成蒸汽机
  7. 【渝粤教育】国家开放大学2018年秋季 1306T社会政策 参考试题
  8. vim grep配置及使用
  9. mysql6.7主从_CentOS 6.7下MySQL主从部署
  10. android 同步list数据,android SharedPreferences保存list数据
  11. 服务器上phpstudy搭建网站,如何使用PHPstudy在本地搭建一个网站(最新图文教程)...
  12. CentOS安装YAPI
  13. 可用于近红外光谱数据分析的网上公开数据集
  14. 达梦(DM)数据库常见问题详解
  15. 【MFC】多国语言工具栏
  16. idea查看代码行数Statistic
  17. 诛仙服务器技能修改,诛仙玩家浅析诛仙3技能修改所带来的轰动
  18. 苹果se2_太快了!苹果已面向iPhone SE 2用户推送iOS 13.4.1
  19. Android应用广告过滤几种方式
  20. logback官网地址

热门文章

  1. OPC注册及DCOM配置
  2. http 412问题
  3. 大型网站架构之大型网站核心架构要素
  4. LIBCURL上传文件, 下载文件,打开网页,POST数据,支持https等一系列函数方便各种模拟登陆注册账户
  5. C/C++在VS2015下使用CURL打开网页GET方式
  6. Excel通过给日期加1个月可获得下一周期排班表
  7. 转:会讲故事,是一种核心竞争力
  8. win2012文件服务器添加角色,win2012系统无法添加角色处理教程
  9. 信息抽取数据集和相关SOTA介绍
  10. 基于51单片机的音乐盒设计