`

用QSplitter分裂器实现QTextEdit窗口大小的变化

阅读更多
原帖地址:http://www.cnblogs.com/nixianmin/archive/2013/05/31/3109730.html
 

    在写串口程序中,我想实现接收窗口的宽度可调,这样在调试一些数据协议的时候,我就可以通过调整这个接收框的大小来使接收的数据协议正好占满一行或几行,那么我去查看和判断协议的时候就可以很清楚的分辨了。不过我用google查了不少资料愣是没找到QTextEdit能实现这功能,其他的简单实现也没发现,最后就发现了QSplitter这个可以分割窗口的类。不过发现这个类使用也不是那么简单,看了下别人写,发现不能只对一个QTextEdit来操作分裂器,至少要2个以上QTextEdit来操作,那么只能这样办了。

    我在窗口设计上增加了一个QTextEdit窗口,和接收的窗口并列,并选中两个窗口,右击选择使用分裂期水平分裂,那么就能在这两个窗口上使用QSplitter,接着我把新的窗口的属性设置了下,像只读、失效鼠标之类的选中功能,右击无界面,也没显示边框,这样看上去就和背景差不多了。尝试了下,效果还不错,能调整接收框的宽度了,还看不出这用两个窗口实现的。

    下面还有一个问题,就是打开的时候,QSplitter默认了两个窗口排布的比例,而我想接收框的比例放到最大,那样看上去比较好看啊,这样我就要设置QSplitter的排布比例了,继续去搜,发现说的最多的是用:

    

 void setStretchFactor ( int index, int stretch )



    进行调整,结果我试了好久,也看了不少例子和资料,愣是没有弄懂。没办法,只能自己看QSplitter的文档,在尝试了不少函数之后发现了一个有效的函数:

    

void  setSizes ( const QList<int> & list )



    这个函数可以设置每个窗口的像素大小,我是这么设置的:

    

    QList<int> list;
list << 400;//设置接收窗口的像素值
list << 0; //设置第二个窗口的像素值
qsplitter->setSizes(list);



    这样打开界面就能初始化这个分裂器,和我要求的一样,终于搞定了。

 

    不过就是感觉这种方式麻烦了一点,不知道有没更简单的方式???

本文链接

分享到:
评论

相关推荐

    Qt下用QSplitter实现滑动窗口

    在本文中,我们将深入探讨如何在Qt环境下使用QSplitter实现滑动窗口。 首先,我们需要了解QSplitter的基本概念。QSplitter是一个容器类,它可以包含其他QWidgets对象,如QLabel、QPushButton、QTextEdit等。当用户...

    qt切分窗口示例 QSplitter

    在Qt库中,`QSplitter`是一个非常实用的组件,用于创建可调整大小的窗口区域,用户可以自由地分割和调整子窗口的大小。这个工具对于开发具有多个视图或者面板的应用程序非常有用,例如代码编辑器、电子邮件客户端...

    PyQt5每天必学之QSplitter实现窗口分隔

    在PyQt5编程中,QSplitter是一个非常实用的部件,它允许用户通过拖动边界来调整子部件的大小,从而实现窗口的动态布局。QSplitter常用于创建可自定义大小的多面板界面,例如在文件管理器、IDE或其他需要分割视图的...

    PyQt使用QTextEdit实现文本编辑器功能,具有文本编辑器GUI界面

    本教程将深入探讨如何使用PyQt中的QTextEdit组件来实现一个具备多种功能的文本编辑器,包括保存、另存、打印、新建、打开、退出保存、查找、撤销、删除、复制、全选、自动换行、改变字体、放大、缩小等功能。...

    Qt拆分器实现 窗口拆分

    在"Qt拆分器实现 窗口拆分"这个主题中,我们将深入探讨如何利用`QSplitter`来创建类似QtCreator编辑区域的效果,即实现窗口的水平和垂直分割。首先,你需要在项目中包含`QSplitter`头文件,并创建一个`QSplitter`...

    python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例

    本文将深入探讨PyQt5中的QSplitter布局控件,这是一个动态的布局管理器,允许用户通过拖动边界来调整子控件的大小。 QSplitter控件在PyQt5中扮演着重要的角色,它能够根据用户的交互动态调整子控件的尺寸。当用户...

    QT自定义QTextEdit实现大数据的实时刷新显示源码

    在处理大数据实时刷新显示时,QTextEdit的标准实现可能无法满足需求,因为标准QTextEdit的刷新效率可能会随着数据量的增加而降低。这时,我们需要对其进行自定义优化。 本项目提供的"QT自定义QTextEdit实现大数据的...

    Qt学习之QSplitter

    使用QSplitter时,主要涉及以下几个核心概念: 1. **子小部件(Widgets)**:QSplitter可以包含任意数量的子小部件,如QLabel、QTextEdit、QTableView等。每个子小部件都会在其分配的空间内显示,用户可以通过拖动...

    Qt中QTextEdit控件随着文本变化控件自动拉伸

    使用开发环境:VS2017+Qt5.14.2。 可执行文件:x64文件夹中exe可直接运行看效果 功能: 随着编辑的文本多少,编辑框的高度自动拉伸,有对应文章说明,链接:https://mp.csdn.net/mp_blog/creation/editor/135935529

    QTextEdit 实现 gif动画

    要实现在`QTextEdit`中显示GIF动画,我们需要利用Qt的一些高级特性。下面将详细介绍如何在`QTextEdit`中实现GIF动画的流程。 首先,你需要了解`QTextEdit`的基本用法,它主要通过`setHtml()`方法加载HTML格式的内容...

    QT多文档记事本含源码、实现QTextEdit背景绘置

    要实现背景绘置,你需要重载QTextEdit的paintEvent()函数,使用QPainter和QBrush绘制自定义的背景颜色。你还可以通过设置QTextCharFormat调整文本的样式,如字体、颜色等。 5. 事件处理:为实现多文档间的切换和...

    QSplitter和QVBoxLayout布局拉伸程序示例

    QSplitter的工作方式是通过在其内部添加子窗口小部件(如QWidget、QTextEdit、QTableView等)并设置分割条的位置。每个子窗口小部件都可以有自己的布局,这使得QSplitter可以容纳各种复杂的设计。当用户调整分割条时...

    Qt QTextEdit 实现快捷键注释功能

    以上就是利用Qt的QTextEdit组件实现快捷键注释功能的详细步骤,包括快捷键绑定、槽函数的使用以及与UI元素的交互。通过这种方式,我们可以为文本编辑器添加丰富的自定义功能,提升用户的编程体验。

    Qt例程源代码QSplitter.7z

    QSplitter是Qt库中的一个关键组件,用于构建可以动态调整大小的窗口小部件布局。这个压缩包"Qt例程源代码QSplitter.7z"包含了与QSplitter相关的示例源代码,对于学习和理解QSplitter的使用非常有帮助。 QSplitter是...

    Qt之QTextEdit拖拽显示 源码

    通过编译和运行这个项目,你可以看到一个带有拖放功能的QTextEdit实例,可以直接将文本从其他地方拖入到编辑器中。 总的来说,通过Qt的拖放机制和QTextEdit的自定义事件处理,我们可以轻松地为QTextEdit添加拖放...

    QTextEdit 实现 QLineEdit 的 setPlaceholderText() 和 setMaxLength ()函数

    QTextEdit提供了一个富文本编辑器,可以处理复杂的格式,如段落、字体样式、链接等,而QLineEdit则是一个简单的单行文本输入框。在某些场景下,我们可能希望QTextEdit具有QLineEdit的功能,比如设置占位符文本...

    Qt5开发及实例-CH301.rar,Qt5实现分割窗口功能的代码

    Qt5开发及实例,实例CH301,一个十分简单的分割窗口功能,整个窗口由三个子窗口组成,各个子窗口之间的大小可随意拖曳改变. 本实例采用编写代码的方式实现,具体步骤如下。 (1)新建Qt Widgets Application(详见...

    QT 打开连接 和QTextEdit添加超级连接例子

    在本例子中,我们关注的是如何在QT中实现两个功能:一是打开链接,二是向QTextEdit添加超级链接。 1. QT 打开链接: 在QT中,我们可以使用QDesktopServices类来打开一个URL链接。QDesktopServices提供了一些方便的...

    QTextEdit内容写入文件

    在Qt编程环境中,QTextEdit是一个非常重要的控件,它用于显示和编辑多行文本,支持富文本格式。当你需要将用户在...总的来说,`QTextEdit`与`QFile`和`QTextStream`结合使用,能够方便地实现文本内容的保存功能。

    Animation in QTextEdit

    它可以将对象的属性绑定到动画,使得属性值随着时间线变化,实现平滑的动画效果。如果QTextEdit本身不支持直接动画,我们可以为包含在其中的QGraphicsObject或其他对象使用QPropertyAnimation。 6. **信号与槽**:...

Global site tag (gtag.js) - Google Analytics