Название: Контекстное меню в QTableWidget Отправлено: catprog от Ноябрь 30, 2009, 17:17 ??? а как его создать? Какой компонент взять? Так чтобы по клику правой кнопкой миши на таблице появлялось контекстное меню с моими пунктами, а лучше по клику на ячейке или строке.
Название: Re: Контекстное меню в QTableWidget Отправлено: BRE от Ноябрь 30, 2009, 17:21 Посмотри на:
void QAbstractScrollArea::contextMenuEvent ( QContextMenuEvent * e ) [virtual protected] Название: Re: Контекстное меню в QTableWidget Отправлено: MoPDoBoPoT от Ноябрь 30, 2009, 17:36 Еще можно использовать QWidget::customContextMenuRequested() + Qt::CustomContextMenu.
Координаты точки расчитываются относительно viewport: tableView->viewport()->mapToGlobal(point) Название: Re: Контекстное меню в QTableWidget Отправлено: catprog от Ноябрь 30, 2009, 17:59 Спасибо, попробую
Название: Re: Контекстное меню в QTableWidget Отправлено: panAlexey от Ноябрь 30, 2009, 18:23 ??? а как его создать? Какой компонент взять? Мы родом из дельфи? Мануалов не чтем? :)Название: Re: Контекстное меню в QTableWidget Отправлено: catprog от Ноябрь 30, 2009, 18:45 Мы родом из дельфи? Мануалов не чтем? :) Да, первый кнопочный язык который учил, чтем, но там много и много сложно понятного, например нашол QMenu, но это похоже не то.Название: Re: Контекстное меню в QTableWidget Отправлено: BRE от Ноябрь 30, 2009, 18:47 Да, первый кнопочный язык который учил, чтем, но там много и много сложно понятного, например нашол QMenu, но это похоже не то. То, посмотри примеры, вместе с Qt их идет множество и во многих используется контекстное меню.Название: Re: Контекстное меню в QTableWidget Отправлено: s.c.o.r.p.i.o.n. от Ноябрь 30, 2009, 20:51 а можете ткунть пальцем в какой нибудь пример? а то из стандартных я не нашел с контекстным меню
Название: Re: Контекстное меню в QTableWidget Отправлено: lit-uriy от Ноябрь 30, 2009, 21:20 пример (http://trac.assembla.com/ysoft/browser/TableViewBuddy/tag/tvb-1.2.0/tableviewbuddy.cpp)
Название: Re: Контекстное меню в QTableWidget Отправлено: NicK от Ноябрь 30, 2009, 21:56 Код: contextMNU=new QMenu(); Код: TABLE_VIEW=new QTableView(); Код: void slotShowContextMenu(const QPoint &pos) Название: Re: Контекстное меню в QTableWidget Отправлено: gmorgunov от Декабрь 01, 2009, 06:45 Вот рабочий код, откопилируйте/запустите, думаю станет понятнее:
tablewidget.h Код: #ifndef TABLEWIDGET_H Код: #include "tablewidget.h" Код: #include "tablewidget.h" Название: Re: Контекстное меню в QTableWidget Отправлено: core от Октябрь 19, 2010, 17:20 Есть void contextMenuEvent( QContextMenuEvent * e ); в хидере
есть QObject::connect (ui->tableWidget,SIGNAL(customContextMenuRequested(const QPoint &)),this,SLOT(contextMenuEvent(QContextMenuEvent*))); и Код: void MainWindow::contextMenuEvent( QContextMenuEvent * e ) код работает, но нужно, что менюшка была привязана к таблице (отображалась при правом клике только на таблицу) + проверять, произведен ли клик по ячейк или просто по таблице. подозреваю что привязка к таблице осуществляется через exec, но как конкретно ето сделат не знаю. С кликом на ячейке еще больше проблем. Помогите, кто знает как Название: Re: Контекстное меню в QTableWidget Отправлено: GreatSnake от Октябрь 19, 2010, 19:19 QTableWidgetItem* itemAt( const QPoint& point ) const
Позицию брать из e->pos(). Название: Re: Контекстное меню в QTableWidget Отправлено: core от Октябрь 19, 2010, 19:42 извиняюсь за нубство. а можна подробнее?
|