Ciao.
Una volta creata una tabella come faccio a catturare l'evento del tasto destro su una cella di questa?
tipo una cosa così
codice:voidMainWindow::on_tableWidget_cellClicked(introw,intcolumn)
ma con il tasto destro
grazie
Ciao.
Una volta creata una tabella come faccio a catturare l'evento del tasto destro su una cella di questa?
tipo una cosa così
codice:voidMainWindow::on_tableWidget_cellClicked(introw,intcolumn)
ma con il tasto destro
grazie
Devi impostare la proprietà contextMenuPolicy a Qt::CustomContextMenu e gestire il segnale customContextMenuRequested.
Amaro C++, il gusto pieno dell'undefined behavior.
Ciao e grazie mille, funziona tutto. Riporto sotto il codice
codice:MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow) { ui->setupUi(this); ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->tableWidget,SIGNAL(customContextMenuRequested(constQPoint&)),SLOT(ShowContextMenu(constQPoint&))); } voidMainWindow::ShowContextMenu(constQPoint&pos) { introw=ui->tableWidget->currentRow();intcolumn=ui->tableWidget->currentColumn(); ui->lineEdit->setText(ui->tableWidget->item(row,column)->text()); }
Una domanda come faccio a sapere se ho cliccato in una cella o su un bordo o su uno spazio della tabella vuoto?
mi rispondo da solo e chiedo conferma ho fatto così
codice:voidMainWindow::ShowContextMenu(constQPoint&pos) { if(ui->tableWidget->itemAt(pos)!=NULL) { ui->lineEdit->setText(ui->tableWidget->itemAt(pos)->text()); } }
È esattamente così che si fa.
Amaro C++, il gusto pieno dell'undefined behavior.