2016-08-19 6 views
0

QLineEdit's setFrame関数によって異常な動作が発生しています。setFrameは、QTreeWidgetの行のハイライトを中断します。

私はLINEEDITのコンストラクタ呼び出し createLineEdit

...

LineEdit* TreeWidget::createLineEdit() 
{ 
    LineEdit* l = new LineEdit; 
    item = new QTreeWidgetItem(this); 
    setItemWidget(item, 1, l); 
    addTopLevelItem(item);  
    return l; 
} 

...と私は予想通り、フレームが削除され、デフォルトで

LineEdit::LineEdit() 
{ 
    setReadOnly(true); 
    setFrame(false); 
} 

を設定IST QLineEditのフレームを、削除LineEditの行のハイライト表示は中断されます(図参照)。私の推測は、これは欲しい行動ではないということです。これはバグですか?どうすればこの問題を解決できますか? ありがとう enter image description here

答えて

0

これ以外には不透明なエディタウィジェットが表示されています。そのように設計されているはずです。

他の動作が必要な場合は、ウィジェットの背景を透明にする必要があります。ビューはセルの背景のペイントを抑制しない場合にのみ機能します。私はそれがしてもしなくても、わかりません。

+0

Hey Kuba。あなたの答えをもう一度感謝します。しかし、私は 'setFrame(false)'が呼び出される前に透過的であるので、あなたが言ったように、それはデザインによって見えるはずであるとは思っていません。したがって、フレームを設定または解除すると、ウィジェットの背景プロパティが変更されるようです。私はこの振る舞いで何の感覚も見られません。あなたは? – tobilocker

+0

また、私はあなたの答えがより適切なコメントを見つけるだろう。 – tobilocker

+0

"私はこの振る舞いに何の意味も見られません。"まあ、あなたはそれに感覚を見るかどうか、そのように振る舞います。あなたの質問は何ですか? –

関連する問題