您的位置:首页 > 编程语言 > Qt开发

Qtablewidget 无法获取单元格的值

2015-12-06 23:15 323 查看
#include "dialog.h"
#include "ui_dialog.h"
#include <QTableWidget>

Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);

Qt::WindowFlags flags=Qt::Dialog;
flags |=Qt::WindowMinimizeButtonHint;
flags |=Qt::WindowMaximizeButtonHint;
setWindowFlags(flags);

ui->tableWidget->setColumnCount(3);
ui->tableWidget->setRowCount(3);

QStringList headerLabels;
headerLabels << "C1" << "C2"<<"C3";
ui->tableWidget->setHorizontalHeaderLabels(headerLabels);

int i ,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
QString str = QString::number(i)+","+QString::number(j);
QTableWidgetItem *item = new QTableWidgetItem(str);//每个单元格的值都要单独申请new
ui->tableWidget->setItem(i,j,item);
}

ui->label->setAutoFillBackground(true);
ui->label->setBackgroundRole(QPalette::Shadow);

}

Dialog::~Dialog()
{
delete ui;
}

void Dialog::on_tableWidget_cellClicked(int row, int column)
{
QString str;
str = "("+QString::number(row)+","+QString::number(column)+")";

QTableWidgetItem *item = ui->tableWidget->itemAt(QPoint(row,column));
QString  str1 = item->text(); //?获取不到表格的值
str += str1;
ui->label->setText(str);
}

void Dialog::on_tableWidget_cellChanged(int row, int column)
{
QString str;
str = QString("单元格")+"("+QString::number(row)+","+QString::number(column)+")"+"已修改";
QTableWidgetItem *item = ui->tableWidget->itemAt(row,column);

QString  str1 = item->text(); //?获取不到表格的值
str += str1;

ui->label_2->setText(str);

}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: