最近、この質問で SO に来て、QComboBox の QScrollBar の厚さを変更するためにどのように手に入れることができるかを尋ねました。返信を読んだ後、Qt Embedded アプリケーションで Marco A. ソリューションを試しましたが、うまくいきませんでした。次に、テストのために、コンパイル環境をデスクトップに変更したところ、修正が機能しました。
基本的に私の問題は、Qt for Embedded Linux (ARM) で QComboBox の QScrollBar 幅を変更しようとすると何も起こらないが、Qt for Desktop 用にまったく同じコードをコンパイルすると動作することです。以下は、テストに使用しているコードです。
QAbstractItemView* poView = ui->comboBox->view();
QScrollBar* poBar = poView->verticalScrollBar();
poBar->setStyleSheet("width: 50px;");
同じことを行う別のコードがありますが、同じ問題を示しています。
ui->comboBox->setStyleSheet("QScrollBar:vertical { width: 50px; }");
comboBox
Qt Designer (Qt Creator 内) の ui フォームで宣言されています。
Qt のバージョンは、Desktop と Qt for Embedded Linux (4.8.5) で同じです。私が奇妙だと思ったもう 1 つのこと (しかし、それとは何の関係もないはずです) は、デスクトップ用に同じコードを再度コンパイルすると、Windows XP スタイルの QComboBox が表示されますが、埋め込み用には Plastique スタイルが使用されていることがわかります (Plastique のおかげで非常に明確にわかります)。スクロール バーをスクロールするための 2 つではなく 3 つのボタンを表示します)。
では、何が起こっているのでしょうか?どうすればこの問題を解決できますか?