Qt 富文本 表格列表图片

1.在mainwindow.cpp添加工具按钮

    //添加工具按钮
    QAction *action_textTable = new QAction("表格",this);
    QAction *action_textList = new QAction("列表",this);
    QAction *action_textIamge = new QAction("图片",this);
    //进行连接
    connect(action_textTable,&QAction::triggered,
            this,&MainWindow::insertTable);
    connect(action_textList,&QAction::triggered,
            this,&MainWindow::insertList);
    connect(action_textIamge,&QAction::triggered,
            this,&MainWindow::insertIamge);

    //添加到工具栏上
    ui->mainToolBar->addAction(action_textTable);
    ui->mainToolBar->addAction(action_textList);
    ui->mainToolBar->addAction(action_textIamge);

2.在头文件里面添加槽函数

    void insertTable(); //插入表格
    void insertList();  //插入列表
    void insertIamge(); //插入图片

 3.对槽函数进行定义

void MainWindow::insertTable()
{
    //对文本进行操作首先要获取光标
    QTextCursor cursor = ui->textEdit->textCursor();
    QTextTableFormat format; //表格格式
    format.setCellSpacing(2); //表格外边白
    format.setCellPadding(10); //表格内边白
    cursor.insertTable(3,3,format); //三行三列
}

void MainWindow::insertList()
{
    //列表格式
    QTextListFormat format;
    //数字编号
    format.setStyle(QTextListFormat::ListDecimal);
    ui->textEdit->textCursor().insertList(format);
}

void MainWindow::insertIamge()
{
    QString filepath = QFileDialog::getOpenFileName(this,
                                                "选择图片",
                                                ".",
                                                "JPEG(*.jpg *.jpeg);;"
                                                "GIF(*.gif);;"
                                                "PNG(*.png)");

    QUrl url(QString("file://%1").arg(filepath));
    QImage image = QImageReader(filepath).read();

    QTextDocument* document = ui->textEdit->document();
    //文档添加图片资源
    document->addResource(QTextDocument::ImageResource,
                          url,QVariant(image));

    QTextCursor cursor = ui->textEdit->textCursor();
    QTextImageFormat imgFormat;
    imgFormat.setWidth(image.width());
    imgFormat.setHeight(image.height());
    imgFormat.setName(url.toString());
    cursor.insertImage(imgFormat);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y木子李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值