写一个qt控制表的代码
时间: 2023-09-04 09:04:13 浏览: 100
### 回答1:
我可以为你提供一个简单的 Qt 程序,使用 QTableWidget 控件显示一个表格。
首先,你需要在你的 .pro 文件中添加对 QTableWidget 的支持,使用如下的语句:
```
QT += widgets
```
然后,你可以在你的窗口类的构造函数中添加一个 QTableWidget 对象。例如:
```
QTableWidget* table = new QTableWidget(this);
```
接着,你可以设置表格的行数和列数,并为每个单元格设置内容。例如:
```
table->setRowCount(2);
table->setColumnCount(3);
table->setItem(0, 0, new QTableWidgetItem("A"));
table->setItem(0, 1, new QTableWidgetItem("B"));
table->setItem(0, 2, new QTableWidgetItem("C"));
table->setItem(1, 0, new QTableWidgetItem("D"));
table->setItem(1, 1, new QTableWidgetItem("E"));
table->setItem(1, 2, new QTableWidgetItem("F"));
```
最后,你可以调整表格的外观,例如调整行高和列宽,并将表格添加到布局中。例如:
```
table->horizontalHeader()->setStretchLastSection(true);
table->verticalHeader()->setDefaultSectionSize(50);
table->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
layout->addWidget(table);
```
完整的代码示例如下:
```
#include <QApplication>
#include <QMainWindow>
#include <QTableWidget>
#include <QVBoxLayout>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QMainWindow* window = new QMainWindow;
QVBoxLayout* layout = new QVBoxLayout;
QTableWidget* table = new QTableWidget(window);
// 设置行数和列数,并设置内容
table->setRowCount(2);
### 回答2:
以下是一个使用Qt编写的简单控制表代码的示例:
```cpp
#include <QApplication>
#include <QTableWidget>
#include <QTableWidgetItem>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTableWidget table(4, 3); // 创建一个4行3列的控制表
// 设置控制表的表头
table.setHorizontalHeaderLabels(QStringList() << "姓名" << "年龄" << "性别");
// 设置控制表的数据
QTableWidgetItem *nameItem1 = new QTableWidgetItem("张三");
QTableWidgetItem *ageItem1 = new QTableWidgetItem("25");
QTableWidgetItem *genderItem1 = new QTableWidgetItem("男");
QTableWidgetItem *nameItem2 = new QTableWidgetItem("李四");
QTableWidgetItem *ageItem2 = new QTableWidgetItem("30");
QTableWidgetItem *genderItem2 = new QTableWidgetItem("女");
QTableWidgetItem *nameItem3 = new QTableWidgetItem("王五");
QTableWidgetItem *ageItem3 = new QTableWidgetItem("28");
QTableWidgetItem *genderItem3 = new QTableWidgetItem("男");
QTableWidgetItem *nameItem4 = new QTableWidgetItem("赵六");
QTableWidgetItem *ageItem4 = new QTableWidgetItem("35");
QTableWidgetItem *genderItem4 = new QTableWidgetItem("女");
table.setItem(0, 0, nameItem1);
table.setItem(0, 1, ageItem1);
table.setItem(0, 2, genderItem1);
table.setItem(1, 0, nameItem2);
table.setItem(1, 1, ageItem2);
table.setItem(1, 2, genderItem2);
table.setItem(2, 0, nameItem3);
table.setItem(2, 1, ageItem3);
table.setItem(2, 2, genderItem3);
table.setItem(3, 0, nameItem4);
table.setItem(3, 1, ageItem4);
table.setItem(3, 2, genderItem4);
table.show();
return app.exec();
}
```
以上代码创建了一个4行3列的控制表,设置了表头为"姓名"、"年龄"和"性别"。然后,设置了一些示例数据并将它们添加到控制表中,最后显示控制表。
运行代码时,将会显示一个简单的控制表,其中包含了名字、年龄和性别的各个信息。你可以根据自己的需求来修改和扩展这个示例代码。
### 回答3:
下面是一个使用Qt编写的代码,用于控制一个表格控件(QTableWidget)的实例,具体实现如下:
```cpp
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建主窗口
QMainWindow mainWindow;
mainWindow.setWindowTitle("表格控件");
mainWindow.setMinimumSize(400, 300);
// 创建表格控件
QTableWidget tableWidget(&mainWindow);
tableWidget.setColumnCount(3); // 设置表格列数为3
tableWidget.setHorizontalHeaderLabels(QStringList() << "姓名" << "年龄" << "性别");
tableWidget.setRowCount(3); // 设置表格行数为3
tableWidget.setVerticalHeaderLabels(QStringList() << "第一行" << "第二行" << "第三行");
// 添加数据
QStringList names = QStringList() << "张三" << "李四" << "王五";
QList<int> ages = QList<int>() << 20 << 25 << 30;
QStringList genders = QStringList() << "男" << "女" << "男";
for (int i = 0; i < 3; ++i) {
QTableWidgetItem *nameItem = new QTableWidgetItem(names.at(i));
QTableWidgetItem *ageItem = new QTableWidgetItem(QString::number(ages.at(i)));
QTableWidgetItem *genderItem = new QTableWidgetItem(genders.at(i));
tableWidget.setItem(i, 0, nameItem);
tableWidget.setItem(i, 1, ageItem);
tableWidget.setItem(i, 2, genderItem);
}
// 设置表格为只读
tableWidget.setEditTriggers(QAbstractItemView::NoEditTriggers);
// 将表格控件设置为主窗口的中央部件
mainWindow.setCentralWidget(&tableWidget);
// 显示主窗口
mainWindow.show();
return app.exec();
}
```
上述代码使用了Qt的QTableWidget类来创建和控制表格控件。首先创建主窗口(QMainWindow)作为容器,然后在主窗口中添加一个QTableWidget控件。在表格控件中,设置表格的列数和行数,并设置表头的标签。然后,根据具体需求,添加数据到表格中,这里使用了QStringList和QList来存储姓名、年龄和性别的数据。最后,设置表格为只读,并将表格控件设置为主窗口的中央部件,最后显示主窗口。
阅读全文