c ++用QT的QPushButton写一个点击QPushButton自己选择txt文件保存路径的代码
时间: 2024-05-01 17:17:43 浏览: 9
好的,下面是用QT的QPushButton写一个点击QPushButton自己选择txt文件保存路径的代码:
```
#include <QPushButton>
#include <QFileDialog>
QPushButton* button = new QPushButton("选择文件", parent); // parent表示按钮的父控件
connect(button, &QPushButton::clicked, [=]() {
QString filepath = QFileDialog::getSaveFileName(parent, "选择保存路径", "", "Text files (*.txt)"); // 弹出文件选择对话框
// filepath就是选择的文件路径
});
```
可以将代码放在按钮所在的界面的构造函数中,或者放在某个槽函数中。
希望对您有帮助。
相关问题
c ++用QT的QPushButton写一个点击QPushButton自己选择txt文件保存路径,并且把读取到的数据以txt文件保存的代码
可以参考以下代码:
```cpp
void MainWindow::on_pushButton_clicked()
{
// 弹出文件对话框,选择保存路径
QString filePath = QFileDialog::getSaveFileName(this, "保存文件", QCoreApplication::applicationDirPath(), "Text Files(*.txt)");
if(filePath.isEmpty()) {
return;
}
QFile file(filePath);
if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QMessageBox::critical(this, "错误", "无法创建文件");
return;
}
// 读取数据
QString data = "这是要保存的数据";
QTextStream stream(&file);
stream << data;
file.close();
}
```
以上代码实现了一个点击按钮就会弹出文件对话框,选择保存路径,并将一段数据以txt文件保存的功能。需要注意的是:
- QFileDialog::getSaveFileName()函数用于弹出文件对话框,选择保存路径;
- QFile类用于创建并打开一个文件;
- QTextStream类用于写入数据到文件中。
c ++用QT的QPushButton写一个在点击QTableWidget某一行后点击QPushButton自己选择txt文件保存路径,并且把读取到的数据以txt文件保存的代码
我明白您的问题,以下是可能的代码实现:
```c++
// 假设您已经在 QT Creator 中创建了一个 QTableWidget(名为 tableWidget)和一个 QPushButton(名为 pushButton)
// 在 QPushButton 的点击事件函数中添加以下代码
void MainWindow::on_pushButton_clicked()
{
// 获取当前选中的行号
int row = tableWidget->currentRow();
// 获取该行的数据
QStringList rowData;
for (int column = 0; column < tableWidget->columnCount(); ++column) {
QTableWidgetItem *item = tableWidget->item(row, column);
if (item) {
rowData.append(item->text());
}
}
// 弹出文件选择对话框
QString filePath = QFileDialog::getSaveFileName(this, "Save File", QString(), "Text files (*.txt)");
// 如果用户选择了文件,将数据保存到txt文件中
if (!filePath.isEmpty()) {
QFile file(filePath);
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&file);
out << rowData.join("\t");
file.close();
} else {
QMessageBox::warning(this, "Error", "Cannot save file: " + file.errorString());
}
}
}
```
这段代码会在用户点击 QPushButton 后,获取当前选中的 QTableWidget 的行数据,并将该数据保存为 txt 文件。用户可以通过弹窗文件选择对话框来确定保存的文件路径。需要注意的是,如果当前选中行的数据中有特殊字符(比如换行符),则要根据实际情况进行转义或再次处理。