0
我試圖爲QTextBrowser添加一個自定義的contextMenu,我在我的Qt應用程序中,但似乎沒有工作。QTextBrowser的右鍵點擊上下文菜單
我正在使用爲元素QLineEdit定義的以下鏈接中介紹的步驟,但它不起作用。
extend-the-standard-context-menu-of-qtextedit
編輯:
下面的代碼我在主窗口的構造函數中寫道:
QDockWidget *dock = new QDockWidget(tr("Text View"), this);
txtBrwsr = new QTextBrowser(this);
dock->setWidget(txtBrwsr);
txtBrwsr->setContextMenuPolicy(Qt::CustomContextMenu);
connect(txtBrwsr,SIGNAL(customContextMenuRequested(const QPoint&)), this,SLOT(showContextMenu(const QPoint&)));
setCentralWidget(txtBrwsr);
以下是showContextMenu函數的實現: 無效AMTMainWindow: :showContextMenu(const QPoint & pt){
QMenu * menu = txtBrwsr->createStandardContextMenu();
QMenu * tags;
tags = menu->addMenu(tr("&Tag"));
for(int i=0; i<_atagger->tagTypeVector->count(); i++) {
QAction * taginstance;
char * tagValue = (_atagger->tagTypeVector->at(i)).tag.toLocal8Bit().data();
taginstance = new QAction(tr(tagValue), this);
connect(taginstance, SIGNAL(triggered()), this, SLOT(tag(tagValue)));
tags->addAction(taginstance);
}
menu->addAction(untagAct);
menu->addAction(addtagAct);
menu->exec(txtBrwsr->mapToGlobal(pt));
delete menu;
}
經過一番調試後,我發現showContextMenu函數甚至沒有觸發,當我按右鍵單擊應打開上下文菜單。所以我認爲主要問題在於連接功能。
任何幫助表示讚賞。
通過「不工作」,你的意思是菜單顯示不出來或者是行動禁用,或者您的自定義選項未顯示? – 2012-08-17 05:48:01
告訴我們你寫的是什麼 - 我們不是心靈的。 – cmannett85 2012-08-17 06:57:34