添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

为窗口添加子控件,标签和文本框;

QTextEdit 类的父类关系如下:

QWidget--->QFrame--->QAbstractScrollArea--->QTextEdit

----QTextEdit对象可以灵活的使用父类的方法及属性。例如:例中设置边框。

----其中 QAbstractScrollArea,是抽象类,是不可视控件,主要用于设置文本框的滚动条。

抽象类 QAbstractScrollArea;用来设置滚动区域,它的子类都具有滚动区域的属性,例如 QTextEdit类 。

为了看起来条理清晰,可以单独封装一个实例方法,来设置滚动条的相关功能属性。

垂直滚动条策略的设置:setVerticalScrollBarPolicy(Qt.ScrollBarPolicy)

参数是滚动条策略对象,有三种情况 (参数可以使用对象,也可以使用数字):

----Qt.ScrollBarAsNeeded =  0 ;按需显示

----Qt.ScrollBarAlwaysOff =  1 ;总是关闭

----Qt.ScrollBarAlwaysOn =  2 ;总是显示

在文本框创建之初,垂直滚动条默认是策略 0

即:setVerticalScrollBarPolicy(0) ,当文本行数超出可视区域行数,才显示滚动条,可以托动滚动条,或用鼠标滚轮滚动内容。

水平区域的滚动条设置:setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy)

参数与垂直滚动区域策略相同。

----默认是策略 1,setHorizontalScrollBarPolicy(1);

----另外文本区域默认是软换行,即根据控件宽度换行。所以即使设置了策略0,或策略 2,都看不到滚动区域的效果。

要看到水平滚动区域的效果,就要改变文本框的换行模式:

setLineWrapMode(self, QTextEdit.LineWrapMode)

----QTextEdit. NoWrap = 0 ,不使用软换行;

----QTextEdit. WidgetWidth =1,根据控件宽度换行;(默认状态)

----QTextEdit. FixedPixelWidth =2 ,固定像素宽度换行。

即:将默认状态改为0,或2模式,如下:

设置文本换行模式为 0;setLineWrapMode(0)

此时,输入文本时,如果不按回车键强制换行,那么文本将在一行内一直向右。如果设置了滚动区域可见,那么就显示了水平的滚动条。

设置换行模式为2:

----应设置文本框软换行的的宽度: setLineWrapColumnOrWidth(int)

----当换行模式为QTextEdit. FixedPixelWidth =2 ,int代表像素。

只要int大于文本框的宽度,就显示滚动条。