题目要求:
实现一个简单的表格编辑器窗口,包括添加行、删除行和保存按钮,并在按下保存按钮时将表格数据保存到文件中。
程序实现:
制作一个表格编辑器需要用到QTableWidget控件,设置控件的行数和列数,然后将控件设置为可编辑的。
tablewiget = new QTableWidget(0,4,this);
tablewiget->setEditTriggers(QAbstractItemView::CurrentChanged);
接下来就是包含几个按钮并设置他们的点击事件,重点是打开文件并保存。这里是打开当前目录下的一个TXT文件写入数据,写入用QTextStream对象,利用横纵坐标获取单元格内的文本然后通过<<符写入TXT文件,中间以制表符隔开。
void MainWindow::saveData()
{
QString path = "table_data.text";
QString filePath = QDir::currentPath() + "/" + path; // 当前文件夹路径 + 文件名
QFile file(filePath);
if(file.open(QIODevice::WriteOnly | QIODevice::Text)){
QTextStream stream(&file);
for(int row=0;row<tablewiget->rowCount();row++){
for(int col=0;col<tablewiget->columnCount();col++){
//根据横纵坐标获取单元格
QTableWidgetItem* item = tablewiget->item(row,col);
if(item){
stream << item->text() << "\t";
}
}
stream << "\n";
}
qDebug() <<"保存成功";
}else{
qDebug() <<"打开文件失败";
}
}