qt listwidgetitem加右键 qtablewidget右键菜单 4.为表格数据添加右键菜单 有时候我们想通过点击鼠标右键对表格数据进行一些其他操作,比如复制、查看详情等,我们可以按照下面的方法来实现。为了实现点击右键弹出菜单这个功能,我们必须在类studentInfo类中声明一个菜单变量popMenu和一个菜单选项变量action。 class studentInfo :...
connect(action, SIGNAL(triggered(bool)), this, SLOT(actionClick())); //右键动作槽 } //右键被按下 void MainWindow::contextMenuEvent(QContextMenuEvent *event) { qDebug() << "contextMenuEvent here"; QPoint point = event->pos(); //得到窗口坐标 QTableWidgetItem *item = ui->tableWidget-...
另外,有事情右键菜单选项需要根据鼠标所指项显示,则可以使用QTableWidgetItem* item = itemAt(mapFromGlobal(QCursor::pos())); if(item != NULL) {获取当前表格项需要说的是开始我总是使用setCellWidget设置表格单元,导致itemAt总是返回空值,而实际应该使用的是函数setItem.感觉QTableWidget此类设计有点问题!
item->row() : -1; // 根据需要决定是否显示菜单 if (row != -1) { menu->exec(globalPos); // 在全局坐标下显示菜单 } } 注意,你需要确保YourClass是QTableWidget的子类,或者在你的类中有一个指向QTableWidget的指针(如上例中的tableWidget)。 5. 测试并确保右键菜单正常工作 在实现了上述...
QTableWidgetItem *item3 = new QTableWidgetItem(); //设置对应的图标、文件名称、最后更新时间、对应的类型、文件大小 item->setIcon(icon);//icon为调用系统的图标,以后缀来区分 item->setText(name); item1->setText(last_modify_time); item2->setText(type); //type为调用系统的类型,以后缀来区分 ...
右键显示 void ComManager::TableWidgetGropAddrMenuRequested(QPoint pos) { QTableWidgetItem *item = ui.tableWidget_goupAddr->itemAt(pos); //connect(mp_delet, SIGNAL(triggered()), this, SLOT(on_action_delet_triggered())); //connect(mp_export, SIGNAL(triggered()), this, SLOT(on_action_exp...
(Qt::CustomContextMenu); // 右键使能 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableWidget->setItem(0,0,new QTableWidgetItem("张飞")); ui->tableWidget->setItem(1,0,new QTableWidgetItem("关羽")); ui->tableWidget->setItem(2,0,new QTableWidgetItem("吕布"))...
1 ui.qtablewidget->verticalHeader()->setVisible(true); 2 ui.qtablewidget->horizontalHeader()->setVisible(false); (5)设置具体单元格中字体的对齐方式 1 ui.qtablewidget->item(0, 0)->setTextAlignment(Qt::AlignHCenter); (6)设置具体单元格中字体格式 ...
QTableWidgetItem *item = new QTableWidgetItem(text); // 创建表格项并设置文本 ui->tableWidget->setItem(row - 1, col - 1, item); // 将表格项设置到表格中(注意索引减 1) } else if (var.canConvert<double>()) { // 如果单元格内容是数字,则仍然按原方式处理(这里保留以展示如何处理不同类型...
QTableWidgetItem* item = tw->item(row, colum);if(item != nullptr){ item->setTextAlignment(Qt::AlignCenter);//感觉效率不⾼ } } } } 7、获取⾏数和列数 ui->tableWidget->rowCount();ui->tableWidget->columnCount();8、右键使能,在给widget加菜单时,需要加⼊此⾏代码 ui->tableWidget...