C++ ';qt';加粗或更改QPlainTextEdit大小的最佳方法
我是“qt”编程新手,正在使用“QPlainTextEdit”编写一个简单的文本编辑器 我已经在“”中问了我的问题,但没有得到答复 我有两个“QPushButton”以粗体和斜体显示,但问题是它们编辑的是整个文本,而不是选定的文本 当我尝试更改字体大小时,也会出现同样的问题 我主要有:C++ ';qt';加粗或更改QPlainTextEdit大小的最佳方法,c++,qt,C++,Qt,我是“qt”编程新手,正在使用“QPlainTextEdit”编写一个简单的文本编辑器 我已经在“”中问了我的问题,但没有得到答复 我有两个“QPushButton”以粗体和斜体显示,但问题是它们编辑的是整个文本,而不是选定的文本 当我尝试更改字体大小时,也会出现同样的问题 我主要有: this->B_flag=false; this->I_flag=false; this->Font_Size=15; QFont newFont("Courier", this->
this->B_flag=false;
this->I_flag=false;
this->Font_Size=15;
QFont newFont("Courier", this->Font_Size, QFont::Normal, false);
textEdit->setFont(newFont);
在方法上:
void MainWindow::setItalic()
{
QFont newFont("Courier", this->Font_Size);
if(this->I_flag==false){
newFont.setItalic(true);
this->I_flag=true;
}
else{
newFont.setItalic(false);
this->I_flag=false;
}
newFont.setBold(this->B_flag);
textEdit->setFont(newFont);
}
我有一个类似的函数来设置粗体
改变尺寸的类似方法:
void MainWindow::setNormal()
{
this->Font_Size=25;
QFont newFont("Courier", Font_Size);
newFont.setBold(this->B_flag);
newFont.setItalic(this->I_flag);
textEdit->setFont(newFont);
}
这是屏幕截图:
s22.postimg.org/b28r9tjap/before.jpg
s8.postimg.org/urxj51s9x/after.jpg
以及整个代码,以防万一:
如果有人能帮忙,那就太好了。请特别查看文档。您在整个小部件上设置字体,所以当然整个事情都改变了。@Mat我刚刚读完那篇文章~是的,我正在改变整个小部件的字体~但是我如何才能正确地改变字体呢?请看QPlainTextEdit文档()中列出的其他示例。(对不起,我以为其中一个有粗体/斜体处理。)我相信,您需要的是
void QTextCursor::setCharFormat(const QTextCharFormat&format)
和void QTextCursor::mergeCharFormat(const QTextCharFormat&modifier)