1

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

我已经在“ qt 论坛”中问过我的问题,但没有得到答复。

我有两个“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

和整个代码以防万一:

https://www.dropbox.com/sh/g2hq0dmk9768ps5/v_3kUsxdQl

如果有人可以提供帮助,那就太好了。

4

0 回答 0