Qt - QPushButton 图标边距需要保持不变

发布于 2024-10-08 11:25:18 字数 715 浏览 5 评论 0原文

我使用下面的函数创建一组按钮,其中包含可以更改宽度的文本“buttonName”。当我单击其中一个按钮时出现的图标会根据文本的宽度自行调整;如何使图标与按钮右侧的边距保持相同,无论文本如何?不要说自定义委托,因为我还不知道如何实现它!

QPushButton *LayoutCreator::createButton(const QString &buttonName) {

   QIcon ico;
   ico.addPixmap(QPixmap(":images/images/on.png"), QIcon::Normal, QIcon::On);
   ico.addPixmap(QPixmap(":images/images/off.png"), QIcon::Normal, QIcon::Off);

   QPushButton* button = new QPushButton(buttonName);
   button->setStyleSheet("QPushButton { height: 70px; font-size: 20px; }");
   button->setIcon(ico);
   button->setLayoutDirection(Qt::RightToLeft);
   button->setIconSize(QSize(32,32));
   button->setCheckable(true);

   return button;

}

I create a set of buttons using the function below with text, buttonName, that can change in width. The icon that appears when I click one of the buttons then justfies itself based on the width of the text; how do I make the icon stay the same margin from the right of the button regardless of text? Don't say custom delegate, because I haven't been able to figure out how to implement that!

QPushButton *LayoutCreator::createButton(const QString &buttonName) {

   QIcon ico;
   ico.addPixmap(QPixmap(":images/images/on.png"), QIcon::Normal, QIcon::On);
   ico.addPixmap(QPixmap(":images/images/off.png"), QIcon::Normal, QIcon::Off);

   QPushButton* button = new QPushButton(buttonName);
   button->setStyleSheet("QPushButton { height: 70px; font-size: 20px; }");
   button->setIcon(ico);
   button->setLayoutDirection(Qt::RightToLeft);
   button->setIconSize(QSize(32,32));
   button->setCheckable(true);

   return button;

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

强者自强 2024-10-15 11:25:18

尝试添加

text-align: right;

到您的按钮样式表中。

Try adding

text-align: right;

to your button style sheet.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文