Qt5窗口背景
来源:互联网 发布:淘宝店铺三个月未经营 编辑:程序博客网 时间:2024/06/04 19:20
学习记录不断更新
窗口:QWidget,QMainwindow,QDialog。后两个继承QWidget
QMainwindow类能够设置QMainwindow类与QDialog类作为其子窗口
QDialog类能够设置QMainwindow类与QDialog类作为其子窗口
QMainwindow类,QDialog类都不能设置QWidget类成为其子窗口
1,通过样式表设置窗口背景,有两种:
a.设计模式中设置;b.使用代码设置(使用QWidget::setStyleSheet()函数)
主窗口 MainWindow 基类QMainWindow无子窗口,资源文件的添加不多说
设计模式:
主窗口创建一个名MainWindow 基类QMainWindow且无子窗口时
在界面上右击,弹出的菜单选择"改变样式表"
QMainWindow{//这个是基类名称
background-image: url(:/image/beijing01.png);
}//或者
MainWindow{//ui文件名
background-image: url(:/image/beijing01.png);
}
这两个都能使窗口具有背景色,区别是如果后面这个主窗口有子窗口(同类),背景图片都是一样的。
加入一个基类为QMainWindow的ui名为childMainWindow窗口,作子窗口,若主窗口设置样式表时用基类名,子窗口背景同主窗口一样,用它的ui文件名在"样式表"中设置背景图片,可以不受主窗口设置QMainWindow类的窗口背景图片的影响。
加入一个基类为QDialog的窗口,作子窗口,不受主窗口影响,设置"样式表" 用窗口类名或ui文件名都可以设置背景图片,此时主窗口也可以用窗口类名或ui文件名创建背景
注:
Dialog窗口同QMainWindow窗口使用方式类似,但是Widget窗口却不能使用样式表设置背景。
可以用background-image和border-image设置背景,前者background-image无法随部件大小自动缩放,后者可以
代码设置:
主窗口
this->setStyleSheet("background-image: url(:/image/beijing01.png);");
窗口上的控件
ui->pushButton->setStyleSheet("background:yellow"); //pushButton是空间名
2,Qt的样式表可以存放在.qss的文件里,通过调用.qss实现换背景
打开.qrc资源文件,添加一个存放.qss文件的前缀(这里设置为qss),然后ctrl+s(保存),右键点击qss,添加一个新文件:选择"概要"分类中,"test file文本文件",名称为myqss.qss然后将设计模式中"样式表"设置的内容,照搬写入.qss的文件里,并且保存。
主窗口 MainWindow 基类QMainWindow无子窗口
在mainwindow.cpp中,添加#inlcude <QFile>
在其构造函数中,添加代码
QFile file(":/qss/myqss.qss");
// 只读方式打开该文件
file.open(QFile::ReadOnly);
// 读取文件全部内容,使用tr()函数将其转换为QString类型
QString styleSheet = tr(file.readAll());
// 为QApplication设置样式表
qApp->setStyleSheet(styleSheet);
file.close();
Widget窗口设置背景
1 在通过修改绘图事件,修改widget窗口背景
窗口MyWidget,基类QWidget
在mywidget.h中添加protected:
void paintEvent(QPaintEvent *);在mywidget.cpp中添加
#include <Qpainter>//头文件void MyWidget::paintEvent(QPaintEvent *){QPainter painter(this);// 从窗口左上角开始绘制图片painter.drawPixmap(0,0,QPixmap(":/image/beijing01.png"));
}
- Qt5窗口背景
- Qt5窗口设计
- Qt5窗口设计
- Qt5.8 异形窗口
- Qt creator第一个Qt5小程序:显示带背景颜色或图片的QWidget的Hello World窗口
- Qt5 弹出窗口的创建
- QT5设计VTK UI窗口
- QT5学习:窗口布局测试
- QT5 窗口标题显示中文
- QT5(5)窗口布局
- Qt5--多窗口编程实例
- Qt5窗口关闭与窗口销毁
- java窗口背景
- DXUT窗口设置背景
- window窗口背景加载
- MFC 窗口背景透明
- 更改窗口背景方法
- 设置窗口背景透明
- String类中Split方法的用法
- SPOJ BALNUM Balanced Numbers (数位dp)
- flask 学习(二)
- C语言实现优先级队列——priqueue
- Excel实战之JXL创建
- Qt5窗口背景
- 我的Coding人生
- 在Asp.net Ajax中使用Session
- OS内核
- __set_bit()
- Android中toolbar的简单使用
- 【二次剩余-欧拉准则】HDOJ Jacobi symbol 3589
- C语言之指针和数组 1
- 数据清洗小记(10):清洗字典数据把“A1B1C1”翻译成对应中文字段