UOS QTextEdit设置换行和滚动条(bug自动换行时右侧个别字符被遮盖)

本文介绍了在UOS环境中使用QT5开发时,如何设置QTextEdit的换行模式(包括NoWrap、WidgetWidth、FixedPixelWidth和WrapAnywhere),以及如何调整滚动条的样式,以避免字符被遮挡问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境

UOS_x86 / QT5 / C++

二、qtextEdit 换行设置

  1. 下图在ui界面lineWrapMode这个参数可以设置换行相关:NoWrap是不换行、WidgetWidth是自动换行(按textEdit的宽度换行)、下面两个是可以自定义每行的宽度,如果选了这两个,就可通过下面LineWrapColumnOrWidth参数指定宽度。这两项也可以通过代码设置:
    ui->textEdit->setLineWrapMode(QTextEdit::FixedPixelWidth);
    ui->textEdit->setLineWrapColumnOrWidth(285);

这里是引用

  1. 有时如果文字内容中英文符号等大杂烩的话,lineEdit可能会在奇怪的地方换行,为解决这种情况可以通过setWordWrapMode()设置换行类型。
ui->textEdit->setWordWrapMode(QTextOption::WrapAnywhere);

这里是引用

三、滚动条设置

  1. 如下图,在ui设计界面可以通过这两个参数设置水平和垂直滚动条的开关。(不自动换行的时候才会有水平滚动条,二者不共存)

这里是引用

  1. 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 风格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值