首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过样式表在QPushButton上设置图标大小

通过样式表在QPushButton上设置图标大小
EN

Stack Overflow用户
提问于 2022-09-27 07:45:29
回答 2查看 43关注 0票数 0

我试图通过样式表在QPushButton上设置图标的大小。我无法从Qt文档中找到适当的语法,以便在实现样式表中的图标图像时修改图标的大小。此应用程序用于多个uis上的QPushButton图标上,样式表设置将在父ui上设置。

这是我的代码,基于这个建议。调整大小为64或256个没有改变对象的大小。

代码语言:javascript
运行
复制
"QPushButton#pushButton_Calibration {image: url(:/images/toolkit.png); qproperty-iconSize: 128px;}"

这是我的另一段代码,基于另一个建议。将宽度/高度调整为64或256没有改变对象的大小。

代码语言:javascript
运行
复制
"QPushButton#pushButton_Calibration {image: url(:/images/toolkit.png); width: 128px; height: 128px;}"

我知道这样的做法是一种选择:

代码语言:javascript
运行
复制
ui->pushButton_Calibration->setIconSize(QSize(128, 128));

但是,我不确定如何用QPushButton#pushButton_Calibration格式实现它,或者如何使用它在全局上实现它到ui元素的子元素,因为这个语法直接指向特定ui文件上的元素(至少,这是我的理解)。

如果需要更多的信息来解决这个问题,请告诉我。我不熟悉更改图标大小所需的语法,也无法从文档中找到它。

EN

Stack Overflow用户

发布于 2022-09-27 11:07:19

我建议使用QPushButton::setIcon()QPushButton::setIconSize()成员函数,而不是使用样式表。

这背后的一个理由是,一旦您处理样式表,给定小部件的系统样式可能会完全混乱,您可能需要重新设计整个小部件的样式,即使您只想更改特定的部件或行为。

根据Qt文档,您可以阅读以下有关图标属性的注释:

“__备注:应用程序负责为按钮分配图标(使用QAbstractButton API),而不是样式。因此,除非样式表针对特定的应用程序,否则要小心设置它。”

如果希望将更改应用于应用程序的所有按钮,则可以创建继承QPushButton并在构造函数中设置所需属性的自己的按钮类。

示例:

.hpp

代码语言:javascript
运行
复制
class MyButton : public QPushButton
{
    Q_OBJECT

    public:
        MyButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr);
        MyButton(const QString &text, QWidget *parent = nullptr);
        MyButton(QWidget *parent = nullptr);
};

.cpp

代码语言:javascript
运行
复制
MyButton::MyButton(const QIcon &icon, const QString &text, QWidget *parent) : QPushButton(icon, text, parent)
{
    setIconSize({128, 128});
}
MyButton::MyButton(const QString &text, QWidget *parent) : QPushButton(text, parent)
{
    setIconSize({128, 128});
}
MyButton::MyButton(QWidget *parent) : QPushButton(parent)
{
    setIconSize({128, 128});
}

当然,您可以调整它以适应您的用例(也许您也希望在构造函数中设置图标,等等)

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73864040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档