2017-10-31 7 views
0

私はQComboBoxを使っていくつかのQTコードをテストしています。QT QComboBoxのドロップ位置が移動しています

QComboBoxをクリックして展開すると、リスト内から現在選択されている項目の位置から展開されます。この動作は正しいとは思われませんが、デフォルト動作を変更するものは何もしていません。

最初にボックスを展開すると、ボックス内の最初の項目が選択されてから下に展開されます。中間のアイテムを選択して閉じるともう一度開くと、開いたときに上半分と下半分に展開されます。これは、中間の項目が選択されているためです。一番下のアイテムを選択してからもう一度閉じると展開すると、選択したアイテムがアイテムのリストの一番下にあるので完全に上に広がります。

Linux Mint 18.2でアプリケーションを実行しています。これはちょうどQComboBoxesが設計されている方法なのでしょうか、またはこの動作を変更する方法があります。

すべてで、このボックスを操作するだけで、コードがある...

for (QStringList::const_iterator i = colorNames.constBegin(); 
     i != colorNames.constEnd(); ++i) { 
    QPixmap solidPixmap(20, 10); 
    solidPixmap.fill(QColor(*i)); 
    QIcon* solidIcon = new QIcon(solidPixmap); 

    foreColorBox->addItem(*solidIcon, *i); 
    backColorBox->addItem(*solidIcon, *i); 
} 
+1

おそらくLinux-Mint固有の動作である可能性があります。 Windows-7では、QComboboxは選択にかかわらず選択ドロワーを開きます。 https://i.stack.imgur.com/XPgCo.png –

答えて

1

これはおそらく、Linuxのミント固有の動作である可能性があります。 Windows-7では、QComboboxは選択にかかわらず選択ドロワーを開きます。 MacOSのハイシエラに

enter image description here

、同じコンボボックスは、あなたの質問のように行動しています。

enter image description here

だから、QComboboxの実装は、それが実行されるプラットフォームのネイティブ動作を使用することは明らかです。

+0

私はこのようなコンボボックスの動作に気付かなかったと思います。 – ScottF

関連する問題