用c++实现一个小表格里添加4个按钮
时间: 2024-03-12 07:43:33 浏览: 70
好的,下面是一个使用C++和Qt框架实现的小表格,其中包含4个按钮(添加、删除、保存、取消):
```C++
#include <QApplication>
#include <QTableWidget>
#include <QPushButton>
#include <QHBoxLayout>
#include <QMessageBox>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建表格和按钮
QTableWidget table(3, 3);
QPushButton addButton("添加");
QPushButton deleteButton("删除");
QPushButton saveButton("保存");
QPushButton cancelButton("取消");
// 创建按钮布局
QHBoxLayout buttonLayout;
buttonLayout.addWidget(&addButton);
buttonLayout.addWidget(&deleteButton);
buttonLayout.addWidget(&saveButton);
buttonLayout.addWidget(&cancelButton);
// 整体布局
QVBoxLayout mainLayout;
mainLayout.addWidget(&table);
mainLayout.addLayout(&buttonLayout);
// 设置窗口
QWidget window;
window.setLayout(&mainLayout);
window.show();
// 连接按钮信号和槽函数
QObject::connect(&addButton, &QPushButton::clicked, [&table](){
table.insertRow(table.rowCount());
});
QObject::connect(&deleteButton, &QPushButton::clicked, [&table](){
QList<QTableWidgetItem*> items = table.selectedItems();
if (items.isEmpty()) {
QMessageBox::information(nullptr, "提示", "请先选择要删除的行");
return;
}
foreach (QTableWidgetItem* item, items) {
table.removeRow(item->row());
}
});
QObject::connect(&saveButton, &QPushButton::clicked, [](){
QMessageBox::information(nullptr, "提示", "保存成功");
});
QObject::connect(&cancelButton, &QPushButton::clicked, [](){
QMessageBox::information(nullptr, "提示", "已取消");
});
return app.exec();
}
```
在这个例子中,我们使用了Qt框架的QTableWidget和QPushButton来创建表格和按钮,并使用QHBoxLayout和QVBoxLayout来组合布局。我们还使用了Qt的信号和槽机制来连接按钮的点击事件和相关的槽函数。
其中,添加按钮的槽函数会在表格中插入一行,删除按钮的槽函数会删除选中的行,保存按钮的槽函数会弹出消息框提示保存成功,取消按钮的槽函数会弹出消息框提示已取消。
阅读全文