クラスがあります
class LocationLineEdit:public QLineEdit{
private:
QWidget* mpListPop;
MySuggestionList* mpLocationListView;
}
ポップアップリストを含むモーダルダイアログで:
class MySuggestionList:public MyAutoScrollArea {}
class MyAutoScrollArea:public QScrollArea {}
次のように初期化されます。
mpListPop=new QWidget(pParent, Qt:Tool | Qt:WindowStaysOnTopHint | Qt:FramelessWindowHint);
mpLocationListView = new MySuggestionList(mpListPop);
pParent = parent dialog box (even for lineEdit)
この問題は Mac でのみ発生します。ここでの問題は次のとおりです。ナビゲーション キー (左右) は正常に機能していますが、mpListPop をクリックすることができません (mpListPop が入力されて表示されるとすぐに)。Qt::Tool を手放すことはできません。Qt:WindowStaysOnTopHint を使用しない場合、mpListPop は親ウィジェットの背後に表示され (Qt4.7 のバグで、Qt5.0 で修正されました。私は Qt4.7 を使用しています)、Qt:WindowStaysOnTopHint を使用する必要があります。Widows では、この実装 (Qt:WindowStaysOnTopHint フラグがなくても) は完全に正常に動作します。
どんな提案でも大歓迎です。前もって感謝します。
〜アンドロ