一、环境
UOS_x86 / QT5 / C++
二、qtextEdit 换行设置
- 下图在ui界面
lineWrapMode
这个参数可以设置换行相关:NoWrap是不换行、WidgetWidth是自动换行(按textEdit的宽度换行)、下面两个是可以自定义每行的宽度,如果选了这两个,就可通过下面LineWrapColumnOrWidth
参数指定宽度。这两项也可以通过代码设置:
ui->textEdit->setLineWrapMode(QTextEdit::FixedPixelWidth);
ui->textEdit->setLineWrapColumnOrWidth(285);
- 有时如果文字内容中英文符号等大杂烩的话,lineEdit可能会在奇怪的地方换行,为解决这种情况可以通过setWordWrapMode()设置换行类型。
ui->textEdit->setWordWrapMode(QTextOption::WrapAnywhere);
三、滚动条设置
- 如下图,在ui设计界面可以通过这两个参数设置水平和垂直滚动条的开关。(不自动换行的时候才会有水平滚动条,二者不共存)
- UOS中QTextEdit默认的滚动条是下图这样透明的,又丑又宽,自动换行的时候会出现最右边的字符被滚动条遮盖的情况。
这个问题也好解决,设置一下滚动条的样式就可以,不过不知道为什么我在ui界面上修改样式表不起作用,最后是通过代码修改成功的。
#ifdef WIN32
#else
//QScrollBar{}设置滚动条的样式; QScrollBar::handle:vertical{}设置滚动块的样式
ui->textEdit->verticalScrollBar()->setStyleSheet( "QScrollBar{ background: white; width:5px}"
"QScrollBar::handle:vertical{ background-color: #86dbcb; min-height: 60px ;width:30px }"
);
#endif
滚动条样式设置参考:
QT 中自定义QScrollBar 风格