使用qt样式表在拉伸边框图像时保留边角

2022-05-13 00:00:00 slice qt css stylesheet

我正在使用Qt4.7,并尝试将Qt样式表应用到我的应用程序中。 如here所述,在边框图像的帮助下,您可以"按原样"拉伸图像的左角。这里有一个good example应该如何工作的说明。不幸的是,我无法得到同样的结果。图像的中间部分被切割和重复,而不是保留的角落。 我的代码中有没有什么错误或者没有在Qt中实现?(通过图形用户界面设计器添加到主窗口的按钮)。

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();
}

图片取自上面的示例。Direct link到它。

附注:它在QML的BorderImage中运行良好。


解决方案

您正尝试将样式表应用于不存在的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。

相关文章