Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.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/8/qt/6.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++ ';qt';加粗或更改QPlainTextEdit大小的最佳方法_C++_Qt - Fatal编程技术网

C++ ';qt';加粗或更改QPlainTextEdit大小的最佳方法

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->

我是“qt”编程新手,正在使用“QPlainTextEdit”编写一个简单的文本编辑器

我已经在“”中问了我的问题,但没有得到答复

我有两个“QPushButton”以粗体和斜体显示,但问题是它们编辑的是整个文本,而不是选定的文本

当我尝试更改字体大小时,也会出现同样的问题

我主要有:

 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)