以widget為例(widget的子類都可以如widget一樣設定右鍵選單):
步驟一:
根據文件的解釋,在將widget 設定為 qt::customcontextmenu後,會觸發customcontextmenuresquested()函式,這個函式是乙個signal
步驟二:
定義乙個槽函式void show_menu(const qpoint&);
將訊號和槽函式連線起來
//connect(ui->widget,signal(customcontextmenurequested(qpoint)),this,slot(show_menu(qpoint)));
connect
(ui-
>widget,
&qwidget::customcontextmenurequested,
this
,&railwaypowerinte***ce::show_menu)
;
以上為兩種連線方式,效果一樣
步驟三:
在槽函式show_menu()實現選單
void x::
show_menu
(const qpoint& pos)
補充:如果需要在選項
一、選項二前面加圖示,新增qicon就可以了
one-
>
seticon
(qicon
(":/img/demo.png"))
;two-
>
seticon
(qicon
(":/img/demo_2.png"))
;
效果如圖:
(四)Qt之右鍵選單
作為一種互動性強 使用方便的右鍵選單在程式中是非常常用的,在qt中可以輕鬆的實現。qmenu menu 新增選單項,指定圖示 名稱 響應函式menu.addaction qicon 1.png qstringliteral 新增 this,slot onbscgrouprightaction 在滑鼠...
DataGrid 之右鍵選單
flex的右鍵選單是通過contextmenu來實現的。談到向datagrid新增右鍵選單,肯定有人會想到直接設定datagrid的例項 id為dg,後面均用dg代替 的contextmenu屬性就行了,還有人會想到通過設定itemrenderer來實現右鍵選單功能。下面以個人觀點分析下著兩種方法。...
QT 右鍵彈出選單
qwidget及其子類都可有右鍵選單 1.設定標誌 在widget初始化的時候 setcontextmenupolicy qt customcontextmenu 設定為自定義選單模式 2.在需要的地方進行訊號關聯 connect mbrowserview,civdatasourcetreeview...