Qt contextMenu的建立和使用

2021-06-21 19:04:19 字數 1107 閱讀 5409

qt中的部件的彈出選單(contextmenu),依據contextmenupolicy的值的不同,有四種形式:

一、預設選單

此時,contextmenupolicy的值為qt::defaultcontextmenu,這是預設值,其將顯示部件定義的預設選單

二、無選單

此時,contextmenupolicy的值為qt::nocontextmenu

三、由action定義選單

此時,contextmenupolicy的值為qt::actionscontextmenu,要為此部件定義這種選單,很簡單,只要把已經定義好的action部件插入到要顯示此選單的部件中,部件將自動按順序顯示選單。

qwidget::addaction(qaction *action);

四、自定義選單

此時,contextmenupolicy的值為qt::customcontextmenu,這回,有兩種方式來定義選單,一種是響應

customcontextmenurequested()這個signal,在響應的槽中顯示選單(qmenu的exec()方法)。第二種是需要從這個部件的類中派生乙個類,重寫contextmenuevent()這個函式顯示選單(qmenu的exec()方法顯示)。

第三種很簡單:

void mainwidget::createcontextmenu()

下面介紹 第四種

qt::customcontextmenu:

#ifndef widget_h

#define widget_h

#include

class widget : public qwidget;

#endif // widget_h

#include "widget.h"

#include

widget::widget(qwidget *parent)

: qwidget(parent)

widget::~widget()

void widget::createaction()

void widget::createcontextmenu()

void widget::contextmenuslot(qpoint p)

google的傳播創想

google的傳播創想 三 基本假設 1 google中國的傳播分為了產品傳播 企業形象傳播及市場競爭性傳播 2 google中國的傳播策略 企業形象 通過傳播google企業文化及公益活動,樹立良好的企業公民形象 通過招聘程序不斷強化傳播創新 自由的企業文化,同時吸引青年一代,使他們喜歡googl...

google的傳播創想

google的傳播創想 三 基本假設 1 google中國的傳播分為了產品傳播 企業形象傳播及市場競爭性傳播 2 google中國的傳播策略 企業形象 通過傳播google企業文化及公益活動,樹立良好的企業公民形象 通過招聘程序不斷強化傳播創新 自由的企業文化,同時吸引青年一代,使他們喜歡googl...

字元創中的正則

match的使用 var str abc 123,def 456,ghi 789 把裡面所有的數字全部顯示出來 var arr str.match d g g 表示的是全域性模式匹配 console.log arr 123 456 789 regexp.的使用 var email 15124doa ...