今天宠物迷的小编给各位宠物饲养爱好者分享qt设置背景的宠物知识,其中也会对QT creator 如何给主窗口添加背景图片,并且上面的控件能够覆盖背景图片?进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
在makefile的构造函数里这么写...
QPixmap pixmap("E:\making\background\sonico.jpg");这个图片路径写自己的.
QPalette palette=this->palette();
palette.setBrush(QPalette::Background,QBrush(pixmap));
this->setPalette(palette);
使用stylesheet的时候要让其余的控件不继承这个规则.详细做法请查看 qss 规则.
以前遇到的很多小知识,从今天开始都一点一点记录下来。。。
窗口背景无非两种:背景色、背景图片。Qt中窗口背景如何设置?下面介绍三种方法:
一、QPalette设置背景
二、实现paintEvent,使用QPainter来绘制背景
三、使用QSS来设置背景
关于QSS的使用不想多说,一般我不用QSS设置窗口背景,也不建议使用。(注意:这里是对于窗口而言)。如果是子部件当然可以。因为窗口使用QSS设置背景之后,若子部件不使用同样的方式来设置,默认则会继承父窗口的样式
子部件一般情况下也不需要设置背景图片,即使需要使用QSS也完全可以满足。设置较多的是背景色与图标,QSS中使用background或者background-color的方式可以实现背景色的设置,图标则可以使用setPixmap或者setIcon来设置!
下面介绍QPalette以及paintEvent
一、QPalette设置背景
构造函数中可以使用如下方式:
(1)设置背景色
QPalette palette(this->palette());
palette.setColor(QPalette::Background, Qt::black);
this->setPalette(palette);
或:
QPalette palette;
palette.setBrush(this->backgroundRole(), Qt::black);
this->setPalette(palette);
这里setColor和setBrush都可以使用!
(2)设置背景图片
QPixmap pixmap = QPixmap(":/qm/safe").scaled(this->size());
QPalette palette(this->palette());
palette.setBrush(QPalette::Background, QBrush(pixmap));
this->setPalette(palette);
上面方式无论设置背景色还是背景图片QPalette::Background与this->backgroundRole()是等价的!
二、paintEvent设置背景
(1)设置背景色
void IIIMark::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setBrush(Qt::black);
painter.drawRect(this->rect());
}
(2)设置背景图片
void IIIMark::paintEvent(QPaintEvent *)
{
QPixmap pixmap = QPixmap(":/qm/safe").scaled(this->size());
QPainter painter(this);
painter.drawPixmap(this->rect(), pixmap);
}
注意:
(1)以上都是用scaled方式对图片进行了适应窗口大小的设置,因为所给的图片大小不一定满足要求,所以采用此方式!当然图片经过拉伸或者压缩之后会变形(纯**片除外),所以对图片采用此方式时需要注意。
(2)设置背景范围的时候如果需要充满整个窗口最好使用this->rect(),因为我看到很多人在使用QRect(0, 0, 400, 400)之类的语句,那么如果窗口大小改变了呢?此句是不是要跟着变呢?
(3)如果需要背景图片或者背景色随可以发生改变时,也就是所谓的换肤功能,则采用paintEvent的方式,在需要改变的时候使用update()来进行更新。
(4)this->setAutoFillBackground(true)又让我想起了tr(),被很多人滥用。这句话在什么时候使用呢?不妨采用QPalette设置背景的方式加上与去掉这句话对比一下(在有父窗口的情况下使用)。如果这个QWidget直接show,则有背景色,如果放到一个父窗口中,就没有效果。添加该句即可!
给span增加一个class,例如:
文字
然后css里写上:
.title { background: #000 url("背景图片地址"); }
1、修改背景图片和动态语言类【jsp】并无关联。 2、背景图片是css属性background来设置的。具体使用: background:url(images/xx.jpg) no-repeat center center; url()是背景存放位置。 no-repeat不平铺,就是图片多大就展示多大,还有其他的平铺方式。repeat-x:横向平铺,repeat-y纵向平铺,repeat:横向纵向平铺。 center center是背景显示在容器里头的位置,当然也可以使用10px 10px像素来表示从什么地方开始显示。 试试用css设置背景。 至于路径,在eclipse预览时候能看见不一定说明路径一定正确。很多时候本地的相对路径放到服务器解析的时候就找不到了。一般是页面设置了标签时候容易出这种问题。
//normal.png,hovered.png,pressed.png这三张图片 //均放在pro文件所在的目录 QString qss = "QPushButton:!hover:!pressed{border-image:url(normal.png)}" //默认 "QPushButton:hover{border-image:url(hovered.png)}" //鼠标hover "QPushButton:pressed{border-image:url(pressed.png)}" //鼠标按下 ; //设置style sheet ui->pushButton->setStyleSheet(qss); 代码如上,有不清楚的地方再说。 ps:用setIcon这种方法不能达到你期望的效果。
PS中更改背景色与前景色的方法 : 1、在PS 工具栏中,有前景色和背景色的设置图标。默认的前景色为黑色,背景色为白色。图标右上角的双向箭头可以快速切换前景色和背景色(快捷键为X);如果点击左下角的小黑白图标,无论当你的画纸为什么颜色,它都会变为默认的黑白前后背景色。(快捷键为D) 2、点击菜单栏中的文件→新建,跳出对话框,将背景内容设置为透明。确定。 3、如果点击油漆桶填充的话,会变成黑色,因为默认填充的是前景色(黑色),如果想要白色的话,单击快捷键X即可。 4、如果需要更多的色彩,可以点击色板来进行颜色采样,若采取红色,那么前景色也会相应的变为红色。选择不同的颜色,也就会填充不同的颜色。 5、如果在做效果图的时候,可能需要更为丰富的颜色,这时候就可以单击图标(前景色或者背景色),就会出来拾色器,可以根据自己的需要来调解。 6、如果当前后景色都为其他颜色的时候,又想快速的变回默认的黑白背景色,可以单击图标左下角的那部分。(快捷键为D) 7、如果不用油漆桶等工具,想对颜色进行快速填充的话,可以使用快捷键。前景色:Alt+delete 。背景色:ctrl+delete
Qt5 QPlainTextEdit设置背景颜色代码如下:
codeeditor->setStyleSheet("background-color:lightYellow;");
文字的颜色设置:
QPlainTextEdit edit;
QPalette p = edit.palette();
p.setColor(QPalette::Active, QPalette::Base, Qt::red);
p.setColor(QPalette::Inactive, QPalette::Base, Qt::red);
edit.setPalette(p);
Qt 是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP。
QPushButton *btn = new QPushButton();// 设置btn的样式,白字 + 黑底btn->setStyleSheet("QPushButton{color: white; font: 13pt 微软雅黑 bold; background-color:black;}"):你想设置什么颜色都可以,支持rgb配色
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“QT creator 如何给主窗口添加背景图片,并且上面的控件能够覆盖背景图片?”
上一篇
正常小学生的智商是多少值?