在Qt中如何为对话框(控件)设置背景?
来源:互联网 发布:win10家庭版系统优化 编辑:程序博客网 时间:2024/06/02 13:38
1.重写paintEvent()事件
在该事件中用画笔QPainter重画整个背景。该方法比较复杂,不建议初学者采用。
2.使用调色板类QPalette
//以下代码中pWidget为指向要设置的widget的指针。
QPalette palette = pWidget->palette();
palette->setBrush(QPalette::Active,QPalette::Window,QBrush(Qt::red));
pWidget->setPalette(palette);
pWidget->setAutoBackground(true);
推荐使用这种方法,大家可以查看一下setBrush()方法的定义:
Palette::setBrush ( ColorGroup group, ColorRole role, const QBrush & brush )
这个是一个重载版本,最为重要的是第二个参数,可以设置许多不同的类型。举例来说, 如果pWidget指向的是一个QListWidget或者QTextEdit对象,如果把第二个参数设置成QPalette::Text,则是设置其中文字的颜色;如果第二个参数是QPalette::BrightText,则是设置该对象被选中时,其文字的颜色;如果第二个参数QPalette::Bright则表示设置选中该对象时,高亮背景的颜色或者图片。该函数的功能是很强大的。
3.使用样式表。
pWidget->setStyleSheet("background-color:blue;"); //设置背景颜色
pWidget->setStyleSheet("background-image:url(:/folder/show.bmp);"); //设置背景图片此外,还有一些很有意思的方法,比如用setHtml(),insetHtml()这种用HTML语言的方式来指定的等等,大家可以多查查帮助文档搜索一下。
4.具体例子
//设置为固定颜色 QPalette pal = pWidget->palette();
pal.setColor(QPalette::Background, QColor(0,0,0)); //黑色
pWidget->setPalette( pal ); //背景图片
QPalette pal = pWidget->palette();
pal.setBrush( QPixmap(图片文件名) ); //黑色
pWidget->setPalette( pal );
- 在Qt中如何为对话框(控件)设置背景?
- Qt 4中如何为对话框设置背景?说说我总结的方法
- Qt 设置对话框背景
- 关于如何在iframe中设置背景颜色为透明
- 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?
- 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?
- 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?
- 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?
- 如何设置对话框背景为模糊不清楚的
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- qt设置对话框或控件为固定大小
- 对话框中设置 静态文本 背景为透明
- android对话框代码中设置背景为透明
- 在对话框中设置背景的三种方法
- 在对话框中设置背景的三种方法 .
- 在对话框中设置背景的三种方法 .
- VS2010中如何设置IDE窗口背景颜色、MFC框架背景颜色以及对话框背景颜色?
- 如何设置控件的背景为透明的
- vim状态栏设置
- 现在发现原来上课多傻的
- 我的山寨生涯(1)
- blackberry上的ajax
- 式
- 在Qt中如何为对话框(控件)设置背景?
- win7 x64 安装oracle10g心得
- Using
- 你会休息吗?掌握最高效的休息方式
- 转 Linux环境下USB的原理、驱动和配置--本文由CSDN 特别约稿,作者为北京中科红旗软件技术有限公司 嵌入式工程师 梁国军
- 学生自杀
- River Crossing解题报告
- VBA加载宏基础
- lvm相关文章的地址