1
我有一個QTreeWidget,我想雙擊它打開一個特定的事物,然後單擊開始重命名該項目,但我不希望雙擊時發生這兩個操作。現在,當我雙擊我的樹項目,我得到我的東西加載和物品進入重命名狀態。QTreeWidget選擇單擊版本並雙擊
我用下面的語句來設置我的QTreeWidget:
this->setEditTriggers(
QAbstractItemView::EditKeyPressed
| QAbstractItemView::SelectedClicked
);
connect(
this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)),
this, SLOT(OnMouseDoubleClicked(QTreeWidgetItem*, int))
);
是否有一些具體的事情我可以做,以防止項目在重命名/編輯狀態得到,當我雙擊它,因爲只有我希望我的自定義加載操作發生,但是當我單擊樹中的一個元素時仍然保持就地編輯?
對不起,但我認爲你的做法是錯誤的。按設計雙擊應該是一次點擊的延伸。例如:單擊 - 選擇,雙擊 - 打開或重命名。有兩個原因:第一 - 不要混淆用戶。其次 - 更容易實施。我認爲你應該重新思考你的邏輯。 – firescreamer
[此問題]可能的重複(http://stackoverflow.com/questions/4627347/distinguish-between-single-and-double-click-events-in-qt) – azf
起初我沒有這個 - > setExpandsOnDoubleClick(false);驗證後,它似乎工作。如果有人有更好的方法建議,仍然會讓問題開放。 @HostileFork:感謝編輯問題。 –