首页 > 其他分享 >QT beginner QFileDialog

QT beginner QFileDialog

时间:2024-04-22 13:33:54浏览次数:17  
标签:QT beginner QFile mainwindow QFileDialog ui file include MainWindow

QFile
QTextStream
QMessageBox
QFileDialog
应用示例
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QFile> #include <QTextStream> #include <QMessageBox> #include <QFileDialog> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } mainwindow.cpp void MainWindow::on_pushButton_2_clicked() { //QFile file("./mytest1.txt"); QFile file("/mnt/hgfs/temp/QFileDemo/mytext.txt"); if(!file.open(QFile::WriteOnly | QFile::Text)){ QMessageBox::warning(this,"title","file not open"); } QTextStream out(&file); QString text= ui->plainTextEdit->toPlainText(); out<<text; file.flush(); file.close(); } void MainWindow::on_pushButton_clicked() { QString filter="All File(*.*);;Text File(*.txt);;xml File(*.xml)"; QString file_name=QFileDialog::getOpenFileName(this,"open a file","/",filter); QFile file(file_name); //QFile file("/mnt/hgfs/temp/QFileDemo/mytext.txt"); if(!file.open(QFile::ReadOnly | QFile::Text)){ QMessageBox::warning(this,"title","file not open"); } QTextStream in(&file); QString text=in.readAll(); ui->plainTextEdit->setPlainText(text); file.close(); }
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_pushButton_2_clicked();

    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

 

 

 

标签:QT,beginner,QFile,mainwindow,QFileDialog,ui,file,include,MainWindow
From: https://www.cnblogs.com/yunyuanfeng/p/18150378

相关文章

  • AtCoder Beginner Contest 350 G - Mediator
    链接:https://atcoder.jp/contests/abc350/tasks/abc350_g大致题意:给出n个点,q个询问1号询问要求u,v之前加一条无向边图始终是一个森林2号询问询问是否有一个点与u,v都相邻,若有则输出该点,若无则输出0。询问强制在线。思路:在题目要求的图中,满足2号询问的点只有三种情况:要么这个......
  • AtCoder Beginner Contest 350
    B-DentistAoki难度:⭐题目大意现在有数列1~n,现在有m次操作,每次给出一个x,如果x存在就是删去,不存在就加上;问最后数列还剩多少个;解题思路数据很小,暴力就行;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio......
  • kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ consumer实战
    1、上一节课我们学习了MQTTproducer生产者步骤,MQTTconsumer消费者步骤。该步骤可以从支持MRQTT协议的中间件获取数据,该步骤和kafkaconsumer一样可以处理实时数据交互,如下图所示: 2、双击步骤打开MQTTconsumer配置窗口,如下图所示:Stepname:自定义步骤名称。Transformat......
  • kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战
    1、MQTT介绍MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,设计用于连接低带宽、高延迟或不可靠网络的设备。MQTT是基于发布/订阅模式(Publish/Subscribe)的协议,其中设备可以发布消息到一个主题(Topic),其他设备可以订阅这个主题以接收相关消息。这种模式......
  • 报错:Qt 打开项目找不到Qt自己的头文件
    报错:Qt打开项目找不到Qt自己的头文件问题描述打开一个之前能跑的Qt项目,发现编译报错,很多Qt自己的宏、头文件、基本类都找不到了。问题解决首先排除一下是不是Qt版本问题导致的CMakeLists.txt或qmake的.pro文件问题。CMakeLists.txt的问题好判断,cmake会给出详细的报......
  • AtCoder Beginner Contest 350
    A-PastABCs(abc350A)题目大意给定一个形如ABCXXX的字符串。问XXX是否是\(001\to349\)之间,且不能是\(316\)。解题思路将后三位转换成数字后判断即可。神奇的代码a=int(input().strip()[3:])ifa>=1anda<=349anda!=316:print("Yes")else:p......
  • AtCoder Beginner Contest 350 (小白来了)
    A-PastABCs思路:题意需要计算已经结束的比赛其中1~349属于已经结束的比赛,其中316没有计算进去模拟即可Code:#include<bits/stdc++.h>usingnamespacestd;intmain(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);strings;cin>......
  • Qt元对象和属性机制
    Qt元对象和属性机制Qt是很早期的库,当时c++连标准库都不完善,如果Qt在c++14以后编写,绝对不会搞这么复杂概述Qt的元对象系统提供了3个重要的特性:信号和槽机制:实现各QObject组件之间的通信实时类型信息:通过运行时使用的类型,执行不同的函数,复用接口动态属性系统:存储类的相关......
  • AtCoder Beginner Contest 350 解题报告
    AtCoderBeginnerContest350A-PastABCs当且仅当串为\(\texttt{ABC000},\texttt{ABC316},\texttt{ABC350}\sim\texttt{ABC999}\)时输出\(\texttt{No}\)。(本人因\(000\)挂了一发。)#include<bits/stdc++.h>usingnamespacestd;intmain(){ ios::sync_with_......
  • MQTT协议
    一、MQTT协议简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT协议是为工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议。二......