Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用mergeCurrentCharFormat()仅对QTextEdit上的选定文本生效_C++_Qt - Fatal编程技术网

C++ 使用mergeCurrentCharFormat()仅对QTextEdit上的选定文本生效

C++ 使用mergeCurrentCharFormat()仅对QTextEdit上的选定文本生效,c++,qt,C++,Qt,我的目标是,当触发QAction“Bold”时,QTextEdit中的所有文本都将更改为粗体,我的代码如下: void MainWindow::on_actionBold_triggered(bool checked) { qDebug()<<ui->actionBold->isChecked(); QTextCharFormat fmt; fmt=ui->textEdit->currentCharFormat(); if

我的目标是,当触发QAction“Bold”时,QTextEdit中的所有文本都将更改为粗体,我的代码如下:

void MainWindow::on_actionBold_triggered(bool checked)
{
    qDebug()<<ui->actionBold->isChecked();
    QTextCharFormat fmt; 
    fmt=ui->textEdit->currentCharFormat();

    if (checked)
        fmt.setFontWeight(QFont::Bold);
    else
        fmt.setFontWeight(QFont::Normal);

    ui->textEdit->mergeCurrentCharFormat(fmt);
}
void主窗口::on_actionBold_已触发(布尔已选中)
{
qDebug()已检查();
QTextCharFormat-fmt;
fmt=ui->textEdit->currentCharFormat();
如果(选中)
格式设置字体权重(QFont::粗体);
其他的
fmt.setFontWeight(QFont::正常);
用户界面->文本编辑->合并当前字符格式(fmt);
}
但是当我运行应用程序时,只有选定的文本(或光标后的内容)可以更改,我如何实现我的目标