2016-04-17 10 views
1

全体の領域ではなく、現在のQComboBox Selectionのテキストのみを強調表示したい場合は、下矢印が表示されるまで現在のQComboBox Selectionのテキストのみを強調表示できますか?

を選択します。これに代えて enter image description here

:より良い私はこのような何かをしたい示すためにenter image description here

は、この可能ですか?はいの場合はどうですか?私はオンラインで検索しましたが、いくつかのことを試みましたが、それを機能させることはできません。任意のアイデアや提案?前もって感謝します。

答えて

1

の編集可能なコンボボックスのデフォルト動作です。その場合、あなたはあなたのQComboBoxを編集可能にしたくない場合は、単に

QComboBox* box = new QComboBox(); 
box->setEditable(true); 

を設定し、それは直感的ですが、何をやりたいが、まだ達成することができます。

あなたが編集可能にQComboBoxを設定した場合、のみを読むべき基本的なラインエディットを設定しながら、そしてハイライトは、あなたの写真のように見えますが、そこに任意のカーソルにならないと、ユーザはしませんでしょうコンボボックスの項目を編集できるようにします。ここでは例を示します。

QComboBox* box = new QComboBox(); 
box->addItems(QStringList() << "None (Min Profit)" << "All (Max Profit)"); 
box->setEditable(true); 
box->lineEdit()->setReadOnly(true); 

// c++11 style, but this can also be done using SIGNAL(...) and SLOT(...) 
connect(box, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), [box] 
{ 
    box->lineEdit()->selectAll(); 
}); 

そして、ここでは、結果のイメージがあります(私は、Windows 10上でだので、スタイリングが少しおかしいです)

Working combobox

私の2セントの:それは一方でデフォルトのQtハイライトスキームは、編集不可能なアイテムに対してユーザーにとってより直感的になります。

関連する問題