【问题标题】:Qt Designer button image change while keeping windows style?Qt Designer按钮图像更改同时保持Windows样式?
【发布时间】:2023-03-18 16:44:01
【问题描述】:

我可以通过更改样式表在设计器中更改 QPushButton 的图像或任何其他样式,但是样式表中的任何更改都会更改所有其他属性。

例如,当我更改边框图像时,其他所有内容都会更改,并且不会从父级(或 windows 样式)继承其余属性。

如何在只更改图像的同时保持 windows 样式?

【问题讨论】:

  • 你可以展示一张你目前得到的和你想要得到的图片。
  • @eyllanesc 谢谢,scopchanov 已经回答了那部分。现在的问题是如何在 QT Designer 中将图像添加到按钮表单而不更改任何其他内容。你有什么想法吗?

标签: qt qt-designer


【解决方案1】:

来自How can I set Styles to a QTabwidget without overwriting existing styles in QT ?

样式表是全部或全部。所以如果你们都应用样式表,它 可能会重置某些小部件的外观并修复它,你 必须提供完整的样式表。

关键部分是:

  • 样式表是全部或全部。
  • 您必须提供完整的样式表。

您可以为 QPushButton from the code 或使用 QtDesigner 设置图像,如下所示:

  1. 选择按钮
  2. 在属性窗口中设置图像和 大小(属性 iconiconSize)。

【讨论】:

  • 谢谢,有没有办法在不使用样式表的情况下向按钮添加图像?或者我可以在某处找到按钮的 Windows 样式表吗?
  • 有没有办法可以从 QT Designer (MSVC) 内部做到这一点?当我在 Visual Studio 中更改 QTsth.h 表单时,它不会应用更改?
  • @polo QTsth.h 是什么?
  • 它是保存设计器中生成的QT GUI的代码的头文件(也可以通过Form -> ViewCode从设计器内部查看)。在我的项目中它的真名是ui_QtGuiApplication2.h
  • 谢谢@scopchanov,你是救生员。 ;)
【解决方案2】:

您是否尝试将样式设置为单个按钮:

your_push_button_pointer->setStyleSheet(
    "QPushButton{background-image: url(:/images/call_up.bmp);}" 
    "QPushButton:hover{background-image: url(:/images/call_hov.bmp);}" 
    "QPushButton:pressed{background-image: url(:/images/call_down.bmp);}");

【讨论】:

  • 是的,我做到了,但是在那个按钮上,其他属性也会改变,不仅仅是图像。
猜你喜欢
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
相关资源
最近更新 更多