Qt中的窗口有没有边框?

weixin_38048892 2019-09-19 01:51:34
各位大虾,请教两个问题:1.QWidget类创建的窗口,能不能设置边框属性?比如说:把边框设置成粗体的。2.在constructor中调用QWidget::setBackgroundMode()设置背景色模式,不管设置成什么,背景都是灰色的,没有区别。 我试过PaletteBase ,PaletteDark ,PaletteText,PaletteMidlight等好多属性,都是灰色的,我看文档,应该会不同才对啊?没有办法,我只好用FixedColor属性,然后调用QWidget::setPaletteForegroundColor()来加入背景色才成功,可是我只是想把背景色设置成白色,用PaletteBase为什么不行?
...全文
581 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nullptr-rodin 2020-07-16
  • 打赏
  • 举报
回复
哪来的fixcolor !!!
weixin_38066147 2019-09-19
  • 打赏
  • 举报
回复
背景设要用调色板,你可以看一下调色板那个类。我觉得这一点qt很误导人。有设置背景色的函数却不起作用,非要用调色板来设置。
weixin_38077401 2019-09-19
  • 打赏
  • 举报
回复
边框问题,可以设置为无边框的等不同风格的窗体,你可以看WFlags这一项的不同设置值设置代码如下:QColorGroup activColorGroup = lisboxPalette.active();      QColorGroup disableColorGroup = lisboxPalette.disabled();      QColorGroup inactivColorGroup = lisboxPalette.inactive();      activColorGroup.setColor(QColorGroup::Background, Qt::black);      activColorGroup.setColor(QColorGroup::Foreground, Qt::red);            activColorGroup.setColor(QColorGroup::Base, Qt::black);            activColorGroup.setColor(QColorGroup::Text, Qt::blue);            disableColorGroup.setColor(QColorGroup::Background, Qt::black);      disableColorGroup.setColor(QColorGroup::Foreground, Qt::red);            inactivColorGroup.setColor(QColorGroup::Background, Qt::black);      inactivColorGroup.setColor(QColorGroup::Foreground, Qt::red);            QPalette newPalette(activColorGroup, disableColorGroup, inactivColorGroup);      this->setPalette(newPalette);当然你可以改其他的颜色
weixin_38089806 2019-09-19
  • 打赏
  • 举报
回复
感谢roy_skyx ,背景色问题解决了。边框问题还有一点:在QT::WidgetFlags中可以将窗体设置成带边框的模式,但是却没有将边框设置成粗体的选项。继续郁闷中...

430

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧