Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.217.168.84] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте, друзья!
Возникла проблема. Нужно перехватить событие изменения области выделения в таблице, созданной с помощью QTableView/QStandardItemModel. Пошарил по ассистанту - там нет таких сигналов. В QTableWidget есть а здесь почему-то нет. Что делать? |
Сообщ.
#2
,
|
|
|
Цитата MicroHard @ В QTableWidget есть а здесь почему-то нет. В QTableWidget есть метод selectedItems, а в QAbstractItemView его нет. Цитата MicroHard @ Что делать? Использовать QTableWidget. Как вариант - унаследоваться от QTableView и перекрыть метод selectionChanged. |
Сообщ.
#3
,
|
|
|
Спасибо, Архимед, удивляюсь вашей отзывчивости.
Пробламу всё-таки удалось решить. Вот так: //конструктор: CalculatorForm::CalculatorForm(int row,int column,QWidget *parent) : QWidget(parent) {... QHeaderView *qhv=ui.tableView->horizontalHeader(); QObject::connect(qhv, SIGNAL(sectionDoubleClicked (int )) , this, SLOT(headerdc(int))); ... }; //функция-обработчик сигнала void CalculatorForm :: headerdc(int val){ int ret = QMessageBox::warning(this, tr("My Application"), tr("The document has been modified.\n" "Do you want to save your changes?"), QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Save); }; private slots: void headerdc(int val); короче говоря я получил ссылку на QHeaderView, а в этом классе есть сигнал sectionDoubleClicked. Я его взял да и связал со своей функцией обработчиком headerdc(int val). |