Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Как привязать контекстное меню к QTableVIew


Автор: sergey_85 20.2.2010, 15:12
Привет!

Хочу привязать свое контекстное меню к таблице на базе QTableView

вот код:
Код

consoleMenu = new QMenu(this->getControls()->consoleWindow); //менюшка консоли
consoleMenu->addAction("Clear messages", this, SLOT(void clearConsoleWindow())); //очистить консоль

this->getControls()->consoleWindow->setContextMenuPolicy(Qt::CustomContextMenu);
QObject::connect(this->getControls()->consoleWindow, SIGNAL(void customContextMenuRequested(const QPoint&)), this, SLOT(void consoleContextMenuRequested(const QPoint&)));



...и далее
Код

//вызов меню окна консоли
//-----------------------------------------------------------
void BmsCClientApp::consoleContextMenuRequested(const QPoint &pos)
{
    if(consoleMenu)
        consoleMenu->popup(pos);
}

//действие очистить консоль
//-----------------------------------------------------------
void BmsCClientApp::clearConsoleWindow()
{
    if(consoleModel)
        consoleModel->clear();
}


код не работает, хотя все сделано правильно!

Автор: borisbn 20.2.2010, 15:35
Всегда при запуске смотри в окно output в студии или в консоль в линухе.
исправь 
QObject::connect(this->getControls()->consoleWindow, SIGNAL(void customContextMenuRequested(const QPoint&)), this, SLOT(void consoleContextMenuRequested(const QPoint&)));
на 
QObject::connect(this->getControls()->consoleWindow, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(consoleContextMenuRequested(const QPoint&)));

Автор: sergey_85 20.2.2010, 22:44
ааа!!! затупил!!! 
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)