QT布局管理程序实现的学习及 QTextEdit编辑
2013-03-14 14:30
357 查看
QT布局管理程序实现的学习
分类: qt1. qt 中对控件布局可以使用水平、垂直和Grid布局管理器来进行
QHBoxLayout:水平排列控件。
QVBoxLayout:垂直排列控件。
QGridLayout:按矩阵方式排列控件。
水平布局管理器可以把它所管理的部件以水平的顺序依次排开。垂直管理器类似,它可以把它所管理的部件以垂直的顺序依次排开。Grid布局管理器可以以网格的形式,将它所管理的部件以一定的矩阵形式排列.
2.在QT assistant 中查找QHBoxLayout,可以看到,应用布局的关键在于QBoxLayout的addWidget()函数,和QWidget的setLayout()函数,如果有多个Widget时,需要多层次的布局,此时还会用到addlayout()和addStretch()函数
对于何时用addlayout()和addStretch()以及怎么用的问题,看地址簿例子就会明白
在多层次布局时,用addlayout()可以向主布局添加子布局
而使用addStretch(),可以使布局中的widget之间添加延伸空间,默认值0表示widget之间没有延伸(因为我们默认的布局对齐方式为Qt::Alignment alignment = 0,它的含义是widget会填充整个cell,这样会使布局的widget之间有空间,使用addstretch()可以消除这种空间)
看qt学习之路(8)中对addstretch()的含义的解释。
要掌握这个内容,实现QT学习之路(7)的例子。
3. 关于QGridLayout,关键是要理解其中函数addwidget()中各个参数的含义
void QGridLayout::addWidget ( QWidget * widget,
int row, int column, Qt::Alignment alignment =
0 )
void QGridLayout::addWidget ( QWidget * widget,
int fromRow, int fromColumn, int rowSpan, int columnSpan,Qt::Alignment alignment =
0 )
第一个的布局的参数的意思依次为:QGridLayoutName,行号,列号。第二个的布局的参数的意思依次为:QGridLayoutName,行号,列号,行宽,列宽。
QT学习之路(7)中例子用QGridLayout来实现的源代码:
QGridLayout *mainLayout = new QGridLayout;
mainLayout->addWidget(m_pLabel,0,0,1,1);
mainLayout->addWidget(m_pLineEdit,0,1,1,1);
mainLayout->addWidget(m_pFindPushBtn,0,2,1,1);
mainLayout->addWidget(m_pMatchCaseCheckBx,1,0,1,1);
mainLayout->addWidget(m_pClosePushBtn,1,2,1,1);
mainLayout->addWidget(m_pSearchBackCheckBx,3,0,1,1);
this->setLayout(mainLayout);
4、用QT Designer中的布局管理器时,可以把该控件和窗口选中,选择layout in a Grid,从而可以使控件随窗口的大小而改变。
5.地址簿的例子:QGridLayout为主布局,结合QVBoxLayout和QHBoxLayout子布局
值得学习。
环境Qt4.7,ui是我的界面类
1、向QTextEdit中当前光标位置添加一行字符串message
ui.messageTextEdit->textCursor().insertText(message+"\n");
2、向QTextEdit中末尾追加一行字符串message
QString content = ui.contentTextEdit->append(message+"\n");
3、读取QTextEdit的值
QString content = ui.contentTextEdit->toPlainText();
4、光标移到末尾
ui.textBrowser_2->moveCursor(QTextCursor::End);
相关文章推荐
- QT布局管理程序实现的学习
- Qt 第6章 布局管理(4) 滚动区域 学习笔记
- Qt学习08——布局管理综合应用
- Qt学习笔记(三)布局管理
- Qt5开发学习之布局管理(三)
- Qt布局管理: 堆栈窗体QStackedWidget类(纯代码实现)
- Qt 第6章 布局管理(3) 切分布局管理 学习笔记
- Qt布局管理: 停靠窗口QDockWidget类(纯代码实现)
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- Qt学习07——布局管理
- Qt布局管理: 停靠窗口QDockWidget类(纯代码实现)
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- Qt 第6章 布局管理(1) 在窗体中摆放窗口部件 学习笔记
- QT学习之三---定义窗口并实现简单布局
- Qt学习:布局管理的使用方法
- Qt 第6章 布局管理(2) 分组布局 学习笔记
- Qt学习(九) 截图程序的实现
- Qt 实现基本布局管理 ---实验
- QT学习 第二章:布局管理--基本布局管理
- 小程序干活系列----实现常见一些功能按钮(flex布局)