2017-05-26 112 views
0

Qt 5.6.2プロジェクトでは、QTreeView項目(実際の矢印部分で項目のテキストではない)をダブルクリックすると、最初のクリックが展開状態をトグルし、 2回目のクリックは何もしません。QTreeViewをダブルクリックして項目を開く

もう一度、もう一度クリックして展開状態を切り替えてください。

私はtreeView->setExpandsOnDoubleClick(false);を試しましたが、アイテムの矢印部分には全く影響しないように見えるため、動作は同じです。 Qtは、プロパティexpandsOnDoubleClickに関係なく、矢印がダブルクリックにどのように反応するかを私に決めているようです。どうすれば解決できますか?

(注意:この動作は、Qtの5.0.2には存在しなかった中間のQtのバージョンがわからない)

+0

http://sscce.org/ –

+0

あなたは、単純なQTreeViewためsscceが必要な場合は正直なところ、それはあなたが助けることができない可能性が高いです。それはちょうど古いQTreeViewです。 – mrg95

+0

あなたは「もう一度2回目のクリックで拡大状態を切り替えるのが好きです」と言っていますか?それとも、最初のクリックで何もしなくても、2番目の/ダブルクリックだけで何かが行われることを意味しますか?アイテムを展開/折りたたむ? –

答えて

0

私はQProxyStyleをサブクラス化とスタイルのヒントSH_ListViewExpand_SelectMouseTypeをチェックし、値を返すことによってこの問題を解決することができました代わりに、デフォルトの3の2

class MyProxyStyle : public QProxyStyle 
{ 
public: 
    int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const 
    { 
     if(hint == QStyle::SH_ListViewExpand_SelectMouseType) 
      return 3; 
     return QProxyStyle::styleHint(hint, option, widget, returnData); 
    } 
} 
関連する問題