我正在使用QT4並動態添加條目到QMenu。是否可以對QMenu中的條目進行排序而不刪除它並創建一個新條目?Qt4 QMenu項目排序
我原本以爲有一個函數在特定的位置插入,所以我可以在插入時排序,但我一直沒有找到它。
我正在使用QT4並動態添加條目到QMenu。是否可以對QMenu中的條目進行排序而不刪除它並創建一個新條目?Qt4 QMenu項目排序
我原本以爲有一個函數在特定的位置插入,所以我可以在插入時排序,但我一直沒有找到它。
一旦添加,我不認爲你可以重新排序。在創建時雖然可以使用QWidget::insertAction方法將其準確放置在您想要的位置。
void QWidget::insertAction (QAction * before, QAction * action)
否則,您可以使用QWidget::addActions。在添加到QMenu之前,創建您的動作列表並對其進行排序。
void QWidget::addActions (QList<QAction *> actions)
在我的代碼中的一個,我保存QActions到一個單獨的列表,併產生對需求的菜單和子菜單。從理論上講,我可以給物品添加「重量」並讓它們重新排序,但是我還沒有實現。
項目頁面,請訪問:http://code.google.com/p/qtedit4/wiki/qmdilib
請注意,QWidget(和QMenu)存儲爲QList它可以是「讀」,使用QWidget::actions()的行動。請記住,該列表已被複制,因此您可以修改操作,但不能修改列表本身。 (我希望我不會錯......)