1

Qt 4.7 を使用しており、Qt スタイルシートをアプリケーションに適用しようとしています。hereで述べたように、 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

スタイルシートを存在しない 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 に答える