摘要:

QT Create中,对button或者window等部件设置背景、颜色、透明等样式时,需要用到stylesheet,可以直接在代码里写,也可以在ui设计师里通过右键change stylesheet的方法来设置,本人是使用的后面的方式,下面介绍几种常见的用法。

介绍:

作者使用的开发环境为:qt creator 201005, qt4.7。

1、利用stylesheet给窗体设置背景

使用stylesheet设置背景图片还是有一些要注意的,如果是在mainwindow和dialog中,直接右键change stylesheet在addresource中选择background-image或者border-image,选择资源文件中的图片就行了(前者是按像素显示图片,后者可根据窗体大小来自动缩放图片),如下图:

但在widget中就不行,你会发现,用同样的方法,背景并没有发生改变,而仅仅是它的子窗体背景图片发生了改变。

那么在widget中要如何做呢,我们在widget中放置一个frame,然后对frame通过stylesheet设置背景,后面窗体里所有的部件都放在这个frame里。

我们知道,子窗体会继承父窗体的属性,也就是说,父窗体的背景,在子窗体中也会有,那如何让子窗体不继承父窗体的背景呢,同样的,还是在EditStyle Sheet里,需下输入如下代码:

#desktop {

border-image: url(:/images/desktop.jpg);

}

#desktop * {

border-image:url();

}

desktop是你的窗体名。

2、menubar设置透明

我想做一个菜单按钮,像ubuntu的应用程序菜单一样,能在点击时弹出一个下拉框,我选择了用mainwindow来实现,但我如现menuba显示在顶层很难看,如何才能不让它显示呢。

设置menuba的stylesheet,

background-color:transparent

将背景设置为透明。

3、toolbutton不显示边框

当我们设置button的icon时,发现icon的形状并不与button完全一致,如下图:

设置stylesheet

border-style: flat;

效果如下:

注意,一定要选择tool button,而不要选择push button,因为push button活动的时候会有一个虚线框。

要达到上图的效果,除了设置border-style:flat,可不可以将style设置为transparent呢?设置成transparent后,显示上看,效果是和上图的一样,但当按下时,button没有被图片覆盖的地方就会显示被按下时的颜色。

4、在父窗体的stylesheet中设置子部件的属性

假设有多个button,且它们的样式是一样的,那是不是需要一个个设置呢?不需要的,我们可以在父窗体中进行设置,那么子部件都会继承它的属性。

如果某个button的样式特殊,再单独修改就行了,下面举个实例,在父窗体的stylesheet中设置如下

QDialog{background:rgb(229, 255, 239)}

QMenuBar{background:url(:/image/header.bmp)}

QStatusBar{background:url(:/image/header.bmp)}

QPushButton{background:url(:/image/header.bmp)}

QLCDNumber{background:url(:/image/lcd.bmp)}

QLabel{color: rgb(0, 0, 255)}

QDial{background-color: rgb(67, 67, 67)}

QGroupBox {

border-width:2px;

border-style:solid;

border-color:#FFFFFF;

}

QGroupBox{color: rgb(255,255, 255)}

QToolButton{border-style: flat;}

结语:

style sheet用起来很方便,以上是总结的几种用法,后面会继续补充。

linux qt 背景图片,《转》qt中添加背景图片(stylesheet)相关推荐

  1. 在php中怎么给表格加背景,怎么在表格中添加背景图

    看别人的表格添加了背景图片是不是特别好看,那么你想不想学会这项技能呢?下面有两种方法让你快速对表格添加背景图,让我们一起学习一下吧! 1.改良背景法为表格添加背景图 做完一个表格,有时我们会觉得其比较 ...

  2. Qt中添加背景图片的方法

    Qt中添加背景图片的方法 QPalette的方法 #include #include int main(int argc, char *argv[]) { QApplication app(argc, ...

  3. Vue中添加背景图片

    往一个div中添加背景图片 bgImg:为图片地址 希望能帮到你!!

  4. 简历背景图片设置html代码,怎么在简历中添加背景图片

    在简历中添加背景图片的方法二 步骤1.在菜单栏选择图片->自来文件->选择图片后->确定; 步骤2.选图片->右键-->设置图片格式->版式->衬于文字下方; ...

  5. 怎样在android中添加背景图片?

    怎样在android中添加背景图片? 1.打开左侧的工程文件夹.打开res中的layout,双击main.xml. 2.一般的图片是jpg格式的,要把格式转化为png格式的. 3.把PNG格式的图片拖 ...

  6. java swing背景_java Swing中添加背景图片(总结)

    在java GUI图形化设计中,Swing组件添加背景图片主要有两中情况:1,在Jpanl面板中添加背景图片,2,在jLable中添加背景图片 首先介绍一种最巧妙的背景图片添加方法, 1.利用JLab ...

  7. .net的label的背景如何设置成为透明_css如何设置背景图片?background属性添加背景图片...

    在前端开发过程中,为了页面的美观,往往都会给html页面添加背景图片.那么如何利用css设置html中用图片做背景?本章就给大家介绍css怎样设置背景图片.有一定的参考价值,有需要的朋友可以参考一下, ...

  8. 计算机wold标题文字加背景,office word文档添加背景图片以及背景颜色来美化枯燥乏味的文字...

    在浏览网页的时候,遇到各式各样的好看图片是常用的事,现在的需求就是如何将这些看似比较不错的图片设置为Word的文档背景.设置背景的目的是为了美化文字的同时还可以为文档增姿添彩.看到这里大家是不是有点迫 ...

  9. 如何在eclipse制作的APP中添加背景图

    如何在eclipse制作的APP中添加背景图 1.首先把图片拉入drawable-hdpi中,a1.jpg(注:图片名不可为中文) 2.在.xml文件中加入android:background=&qu ...

  10. css如何设置背景图片?background属性添加背景图片

    在前端开发过程中,为了页面的美观,往往都会给html页面添加背景图片.那么如何利用css设置html中用图片做背景?本章就给大家介绍css怎样设置背景图片.有一定的参考价值,有需要的朋友可以参考一下, ...

最新文章

  1. 免费短信猫开发包dll函数解析及下载
  2. Ping一下Github,确认本地DNS无法解析方法
  3. 【Python基础】弄懂这几个问题,拿下 Python 生成器!
  4. 请简述php循环控制语句,PHP 循环控制语句几种方法详解_PHP教程
  5. java自定义注解实现前后台参数校验
  6. VS2010 无法计算HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0@VCTargetPath处的属性表达式...
  7. 论DATASNAP远程方法支持自定义对象作参数
  8. camel java_与Java EE和Camel的轻量级集成
  9. 牛客网-数据结构笔试题目(八)-离子能力跃迁问题求解
  10. 【软件工程】业务过程与解决方案
  11. 分享我们承建的三篇NAR的数据库
  12. js版palppy brid代码_从 JS 引擎到 JS 运行时(上)
  13. 获取微信的access_tokey,处理json格式的数据
  14. 前端测试框架Jest系列教程 -- 简介
  15. 复变函数在计算机科学中的应用,复变函数的应用以及发展史
  16. AutoCAD查询插件的开发
  17. 项目管理中的变更管理是什么?
  18. Mozilla Add-ons学习笔记(1)
  19. Linux的ssh学习与配置(SSH的登录)
  20. 扇贝python编程课 百度云,扇贝编程python课程分享

热门文章

  1. 几种android实时视频网络传输方案比较
  2. 3、JavaWeb中Service层的作用、MyBatis的重要组件、mybatis-config.xml中的别名映射、properties配置、#{}和${}的区别、获取插入数据的主键值
  3. Android开发板
  4. 2021-02-09-今日K8S环境搭建记录
  5. Jess 7.2p2——Java平台规则引擎官方文档翻译1
  6. 两个同一牌子无线路由器连接设置步骤!实用!
  7. 解决为什么svn没有对号等符号的问题。
  8. 普通人如何从0到1,成为百万粉自媒体大V?
  9. 烂泥:linux文件同步之rsync学习(一)
  10. 一只蝴蝶引发的海啸:垂死的CDN行业风云再起