当前位置:   article > 正文

Qt学习笔记之文本编辑器实现加粗、倾斜、下划线、字体、居中对齐、左对齐、右对齐_qt实现输入框粗体

qt实现输入框粗体

一、加粗、倾斜、下划线
在实现这些功能的时候,我们首先要知道,这三个功能是要施加在所选中的字体上的,如果没有这个过程,那么这三个功能将会对所有的字符进行上述处理。所以,第一部就是要实现设置光标的选区,使格式作用于选区内的字符。

//  设置光标的选区,使格式作用于选区内的字符
void editorwindow::mergeFormat(QTextCharFormat fmt)
{
    QTextCursor cursor = ui->textEdit->textCursor();
    if (!cursor.hasSelection()) {
       cursor.select(QTextCursor::WordUnderCursor);
    }
    cursor.mergeCharFormat(fmt);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

加粗、倾斜、下划线功能的实现

//加粗
void editorwindow::on_actionTextBold_triggered()
{
    QTextCharFormat fmt;
    fmt.setFontWeight(boldcheck ? QFont::Bold : QFont::Normal);
    mergeFormat(fmt);
    boldcheck = !boldcheck;
}
//倾斜
void editorwindow::on_actionTextItalic_triggered()
{
    QTextCharFormat fmt;
    fmt.setFontItalic(Italiccheck ? true : false);
    mergeFormat(fmt);
    Italiccheck = !Italiccheck;
}
//下划线
void editorwindow::on_actionTextUnderLine_triggered()
{
    QTextCharFormat fmt;
    fmt.setFontUnderline(UnderLinecheck ? true : false);
    mergeFormat(fmt);
    UnderLinecheck = !UnderLinecheck;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

其中boldcheck 、Italiccheck 、UnderLinecheck 是全局变量,用于检测这个功能的前一个状态,比如我选中几个字符,然后点击加粗,这几个字符就加粗了,然后我再点击加粗的时候,之前的效果取消。这就是这几个全局变量的作用。

二、字体的改变
用一下代码就可以实现改变文本字符字体的改变

//改变字体
void editorwindow::on_actionFont_triggered()
{

    bool ok;
    QFont font = QFontDialog::getFont(&ok, QFont("楷体", 20), this);
    if(ok){
    ui->textEdit->setCurrentFont(font);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

三、居中对齐、左对齐、右对齐
这三个比较简单

//左对齐
void editorwindow::on_actionLift_triggered()
{
    ui->textEdit->setAlign\ment(Qt::AlignLeft);
}
//居中对齐
void editorwindow::on_actionCenter_triggered()
{
    ui->textEdit->setAlignment(Qt::AlignCenter);
}
//右对齐
void editorwindow::on_actionRight_triggered()
{
    ui->textEdit->setAlignment(Qt::AlignRight);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

这三个函数能实现,光标所在的行可以实现居中对齐,左对齐,右对齐的功能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/292707
推荐阅读
相关标签
  

闽ICP备14008679号