在UI里面引用QTextEdit控件,在对其进行样式设计的时候,通常也会对其滚动条(
horizontalScrollBar、verticalScrollBar) 进行样式设计。

例如我们对QTextEdit 的垂直滚动条进行样式设计,样式表会这样写:

QTextEdit#textEdit
	background:rgba(0,0,0,0.1);
	color:rgba(255,255,255,0.8);
	border-radius:2px;
	border:none;
	font-size:14px;
	font-family:"微软雅黑";
QScrollBar:vertical
       border: none;
       background: transparent;
       width: 6px;
QScrollBar::handle:vertical
       background-color: rgba(255,255,255,1);
       min-height: 30px;
	  border-radius:3px;
	  width: 6px;
QScrollBar::add-line:vertical
       border: none;
       ;
 QScrollBar::sub-line:vertical
       border: none;
       ;
 QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical
	background:transparent;
      border-radius:3px;

在Qt Designer 里面看是正常的, 如图:

但是当运行程序(Ctrl + R)时,样式表就没有生效,如图:

============================ 解决方案=================================

 方案1:在类的构造函数里对滚动条进行polish抛光操作。

ReadingTimeSettingDialog::ReadingTimeSettingDialog(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ReadingTimeSettingDialog)
    ui->setupUi(this);
    ui->textEdit->verticalScrollBar()->style()->polish(ui->textEdit->verticalScrollBar());

        (1)将QTextEdit 的原有滚动条隐藏,设置滚动条策略未 ScrollBarAlwaysOff 

        (2) 添加新控件Vertical Scroll Bar放置在QTextEdit的左侧 

  (3) 设置verticalScrollBar的样式表

  (4)构造函数里面设置verticalScrollBar为QTextEdit的滚动条

ReadingTimeSettingDialog::ReadingTimeSettingDialog(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ReadingTimeSettingDialog)
    ui->setupUi(this);
    ui->textEdit->setVerticalScrollBar(ui->verticalScrollBar);
                                    完整版QT使用样式表来对控件样式进行调整。
使用setStyleSheet来进行设置Button样式实例以及源代码、QT样式表属性完整版、QT系统字体、程序示例以及完整原始代码、启动动画示例、QT为按钮、标签添加图片的几种方法、QButton弹出菜单、QT界面换肤解决方案和解决思路、一文搞懂QT样式表。
                                    在Qt官网上,Qt for Embedded Linux Fonts模块已经说的很清楚了,搞了好多天html Qt for Embedded Linux FontsQt for Embedded Linux uses the FreeType 2 font engine to produce font output. The formats supported depends on the loc...
                                    特别说明一下,只是对某个控件的风格表setStyleSheet()函数进行配置是不能完成个性化滚动条的,我在这里踩了很大一个坑。本篇博客是介绍在代码中如何设置一个个性化的 PYQT 滚动条的,PYQT 原生的滚动条相当丑陋(灰色大帝,白色方块)。同时 ,在 QT Designer 的属性设置中,是缺少滚动条相关的属性设置的。所以现在就给出了一个个性化滚动条的方案。完成效果如图:原UI改动后。
                                    设置内容周围内边距的填充。的值为0,这意味着焦点移动的距离是固定的,通常与文本输入框的宽度或高度有关。可以显示多行可编辑的格式化文。默认是无边框的,可以和父控件完美融合。组件中文本周围的边距,单位是像素。来镜像应用程序布局时,文本的水平对齐方式也会被镜像,但。时,焦点会自动移动到该组件,允许开始输入文本。组件宽度和高度内的水平和垂直对齐方式。制表位之间的默认距离。属性控制文本的水平对齐方式。属性控制文本的垂直对齐方式。属性来自定义焦点移动的距离。组件边界之间的空间大小。用于控制文本的换行行为。
                                    QTextEdit和QPlainTextEdit样式表中属性选择器不起作用的问题。
描述:QPlainTextEdit设置QPlaintTextEdit[readOnly="true"]{....}  QPlainTextEdit[readOnly="false"]{.....} 来为QPlainTextEdit在‘可编辑/不可编辑‘两种不同状态下设置不同的样式无效。
Qt文档中有这样一段话
(1)setWidgetResizable(true)
当滚动区域的widgetResizable 属性为False时,在Designer中或应用界面手工调整滚动区域部件的大小时,内容部署层不会跟随调整,但可以通过应用代码进行调整,具体调整方法请见下面介绍。
当滚动区域的widgetResizable 属性为True时,在Designer中或应用界面手工调整滚动区域部件的大小时,内容部署层会跟随调整。但验证widgetResi