【问题标题】:How can you modify a Qt stylesheet?如何修改 Qt 样式表?
【发布时间】:2012-08-25 05:21:00
【问题描述】:

如何修改现有样式表?

例如:如果我想创建按钮,当按下每个按钮时会修改样式表的一个方面。一个按钮可以插入 10 的 margin-left 属性。另一个按钮可以使背景颜色变为蓝色。最后,另一个按钮可以圆角。不过,这里的技巧是我不想存储所有变量并在每次按下按钮时重建样式表。例如,我想要一个简单的this->setStyleSheet(this->getStylesheet()+"margin-left: 10px:")

有什么办法吗?

【问题讨论】:

  • 每个小部件都有一个 styleSheet() 函数和 setStyleSheet() 。他们使用 QString 。你为什么不使用它们?
  • @saeed 哦,我不知道styleSheet(),这和我上面使用的getStyleSheet() 一样吗?如果样式是在父级中设置的呢? styleSheet 函数会返回更改后的样式吗?
  • 是的!但继承的样式表不会在 styleSheet 函数中返回。您可以使用 parent() 函数,然后从父级获取 styleSheet。

标签: c++ qt stylesheet


【解决方案1】:

这是main.cpp中的代码

    QWidget wdg;
    QHBoxLayout hlay;
    wdg.setStyleSheet("border:2px solid rgb(74, 74, 74);");
    QPushButton btn;
    btn.setStyleSheet("border-radius:5px;");
    btn.setText("Hello");
    QPushButton btn2;
    btn2.setStyleSheet("background-color: rgb(190, 190, 190);");
    btn2.setText("Hello");
    hlay.addWidget(&btn);
    hlay.addWidget(&btn2);
    qDebug()<<btn.styleSheet();
    wdg.setLayout(&hlay);
    wdg.show();

设置和获取样式表适用于 QString,因此您可以使用 + 运算符。

【讨论】:

  • 好吧,你错过了 onpress 位,但没关系,我明白了。
猜你喜欢
  • 2011-12-13
  • 2011-05-25
  • 1970-01-01
  • 2020-12-31
  • 2014-10-23
  • 1970-01-01
  • 2022-01-04
  • 2021-08-01
  • 2019-07-31
相关资源
最近更新 更多