2

特にqPushButtonのアイコンのアクティブなオン/オフ名を取得したいと思います。コードのように最初にアイコン名をログに記録しようとしましたが、プログラムでアイコンを作成しようとしても出力は常に空でした。これを解決する方法はありますか?

アイコン名をログに記録しようとするための私のコードは次のとおりです。

qDebug() << "アイコン名" << ui->btnWestern1_2->icon().name(); //出力: 空の文字列

私の目的を確認するために、アイコン名だけでなくアクティブなオン/オフ名を取得することですが、何も機能しません。

Qt 5.2.1を使用しています

ここに画像の説明を入力

4

1 に答える 1

3

できません。あなたの場合、アイコンnameメソッドは役に立ちません。

アイコンはファイル名で作成されますが、ファイル名はどこにも保存されません。この回答を参照してください

ファイルを見ると、ボタンの作成方法を確認できuic ui_XXX.hます。

プログラム的に実行したい場合はproperty、2 つのアイコン (オン/オフ) を含むボタンを使用できますか?

ここに(テストされていない)ヒントがあります:

QStringList icons = (QStringList() << "icon1.png" << "icon2.png");

QIcon my_icon;
my_icon.addFile(QStringLiteral(icons[0]), QSize(), QIcon::Normal, QIcon::Off);
my_icon.addFile(QStringLiteral(icons[1]), QSize(), QIcon::Normal, QIcon::On);

QPushButton btn = new QPushButton(my_icon);
btn->setProperty("icons",icons);

qDebug() << btn->property("icons");
于 2016-03-21T20:33:39.890 に答える