1

我正在使用 Qt 4.7 并尝试将 Qt 样式表应用于我的应用程序。正如这里提到的,在border-image的帮助下,您可以“按原样”拉伸带有左角的图像。这是一个很好的例子,说明它应该如何工作。不幸的是,我无法得到相同的结果。我没有被保留的角落,而是在图像的中间部分被剪切和重复。我的代码中是否有任何错误或未在 Qt 中实现?(通过 gui 设计器添加到 MainWindow 的按钮)。

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setStyleSheet( "QPushButton{ border-image: url(:/border-image-marked.png) 25 30 10 20 repeat repeat; }" );

    MainWindow w;
    w.show();

    return a.exec();
}

图片取自上面的示例。直接链接到它。

ps 它在 QML 的BorderImage中运行良好。

4

1 回答 1

1

您正在尝试将您的 styleSheet 应用于不存在的 QPushButton。

根据http://qt-project.org/doc/qt-4.8/stylesheet-reference.html#border-image-prop只有以下元素支持这个 CSS 属性:

QAbstractItemView 子类、QAbstractSpinBox 子类、QCheckBox、QComboBox、QFrame、QGroupBox、QLabel、QLineEdit、QMenu、QMenuBar、QPushButton、QRadioButton、QSplitter、QTextEdit 和 QToolTip 支持此属性。

于 2013-01-06T16:15:31.363 回答