QTday3作业

该代码示例展示了如何使用Qt库创建一个简单的文本编辑器,包括设置字体、颜色、打开和保存文件的功能。用户可以点击按钮选择字体、颜色,打开或保存文本文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手动完成文本编辑器功能

#include<QColorDialog>
#include<QFileDialog>
#include<QFile>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    QString s;

private slots:
    void on_msgbutton_clicked();

    void on_colorbutton_clicked();

    void on_openfilebtn_clicked();

    void on_savebtn_clicked();

private:
    Ui::Widget *ui;

};
#endif // WIDGET_H
#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_msgbutton_clicked()
{
    bool ok;
    //调出系统字体对话框
    QFont f =QFontDialog::getFont(&ok,QFont("宋体",10,5),this,"字体");
    if(ok)
    {
     ui->textEdit->setCurrentFont(f);//设置选中文字字体
    }
}


void Widget::on_colorbutton_clicked()
{
    QColor c=QColorDialog::getColor(QColor(0,0,0),this,"颜色");//调出颜色对话框,选中文件
    if(c.isValid())
    {
        ui->textEdit->setTextColor(c);//设置选中字体颜色
    }
}

void Widget::on_openfilebtn_clicked()
{
    QString f=QFileDialog::getOpenFileName(this,"打开文件","./","Txt(*.txt);;c程序(*.c);;c++(*.cpp);;all(*.*)");//获取打开文件的文件名
    QFile file(f);//实例化对象
    file.open(QIODevice::ReadWrite);//打开文件
    QByteArray msg=file.readAll();//读取文件内容
    ui->textEdit->setText(msg);//将文件内容写入文本框
    file.close();
}


void Widget::on_savebtn_clicked()
{
    QString f =QFileDialog::getSaveFileName(this,"保存文件","./","txt(*.txt)");//获取保存文件的文件名
    QFile file(f);//实例化对象
    file.open(QFileDevice::ReadWrite);//创建文件
    QString s= ui->textEdit->toPlainText();//读取文本框内容
    file.write(s.toLocal8Bit());//将文本框内容转换为QByteArray类型写入
    file.close();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值