QT 常用控件二
QT提供QHBoxLayout类、QVBoxlayout类及QGridLayout类等的基本布局管理,分别是水平排列布局,垂直排列布局和网格排列布局
addWidget()方法用于向布局中加入需要布局的控件
addLayout()方法用于向布局中加入需要布局的子布局
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
/*设置窗口标题*/
setWindowTitle("用户信息"); /*左侧*/
/*左侧第一行*/
label1=new QLabel(tr("用户名"));
edit1=new QLineEdit();
QGridLayout * lay1=new QGridLayout();
lay1->addWidget(label1,,);
lay1->addWidget(edit1,,); /*左侧第二行*/
label2=new QLabel(tr("姓名"));
edit2=new QLineEdit();
lay1->addWidget(label2,,);
lay1->addWidget(edit2,,); /*左侧第三行*/
label3=new QLabel(tr("性别"));
comb1=new QComboBox();
comb1->addItem(tr("男"));
comb1->addItem(tr("女"));
lay1->addWidget(label3,,);
lay1->addWidget(comb1,,); /*左侧第四行*/
label4=new QLabel(tr("部门"));
txt1=new QTextEdit();
lay1->addWidget(label4,,);
lay1->addWidget(txt1,,); /*左侧第五行*/
label5=new QLabel(tr("年龄"));
edit3=new QLineEdit();
lay1->addWidget(label5,,);
lay1->addWidget(edit3,,); /*左侧第六行 */
label6=new QLabel(tr("备注"));
label6->setFrameStyle(QFrame::Panel||QFrame::Sunken);
/*addWidget第四个参数表示占据几行,第五个参数表示占据几列*/
lay1->addWidget(label6,,,,); /*setColumnStretch()设置QGridLayout每列的占位比*/
/*设置第0列和第1列的占位比,这里设置第0列和第1列的比例是1:3;--setColumnStretch(0,1)设置第0列占位比是1,setColumnStretch(1,3)设置第1列的占位比是3*/
lay1->setColumnStretch(,);
lay1->setColumnStretch(,); /*右侧*/
QVBoxLayout * lay3=new QVBoxLayout();
/*右侧第一行*/
QHBoxLayout *lay2=new QHBoxLayout();
label6=new QLabel(tr("头像"));
label7=new QLabel();
/*定义图片对象:注意QT的当前路径是build-untitled-Desktop_Qt_5_2_0_MinGW_32bit-Debug目录下*/
QPixmap icon("1.png");
/*设置label7的背景图片*/
label7->setPixmap(icon);
/*设置label7的大小*/
/*这里设置label7的大小为背景图片的大小*/
label7->resize(icon.width(),icon.height());
btn1=new QPushButton("更新");
/*设置QHBoxLayout中控件间的间距*/
lay2->setSpacing();
lay2->addWidget(label6);
lay2->addWidget(label7);
lay2->addWidget(btn1); /*右侧第二行*/
label8=new QLabel(tr("个人说明")); /*右侧第三行*/
txt2=new QTextEdit(); /*设置边距*/
lay3->setMargin();
/*addLayout()布局中加入布局*/
lay3->addLayout(lay2);
lay3->addWidget(label8);
lay3->addWidget(txt2); /*底层*/
btn2=new QPushButton(tr("确认"));
btn3=new QPushButton(tr("取消"));
QHBoxLayout *lay4=new QHBoxLayout();
/*加入一个占位符*/
lay4->addStretch();
lay4->addWidget(btn2);
lay4->addWidget(btn3); /*创建全局Layout*/
QGridLayout * mainlay=new QGridLayout(this);
mainlay->setMargin();
mainlay->setSpacing();
mainlay->addLayout(lay1,,);
mainlay->addLayout(lay3,,);
mainlay->addLayout(lay4,,,,);
/*设置layout与控件大小一致,不能随意改变layout的大小*/
mainlay->setSizeConstraint(QLayout::SetFixedSize);
}
QT 常用控件二的更多相关文章
- Qt常用控件
Qt常用控件 QWidget与QFrame QWidget所有图形控件的基类 QFrame与QWidget的区别 QFrame是基本控件的基类, QWidget是QFrame的基类. 因此QFrame ...
- QT常用控件(三)——自定义控件封装
引言 Qt已经提供了很多的基础控件供开发使用,而Qt原生的控件有时候并不能满足我们的需求,特别是在工业的运用上,比如我们需要一个日期时间的选择器,Qt虽然已经提供了原生的QDateTime控件,但这个 ...
- Qt——常用控件样式
下面是我设计.调整.修改的Qt控件样式,仅供参考. Github地址:https://github.com/ikongziming/QtDemo/tree/master/StyleSheetDemo ...
- QT 常用控件一
QWidget 创建窗口 如果widget未使用腹肌进行创建,则在显示时视为窗口或顶层widget. 由于顶层widget没有父级对象类来确保在其不再使用时删除,所以需要开发人员在应用程序中对其进程跟 ...
- QT常用控件(一)——菜单栏和对话框
引言 QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar).多个工具栏(tool bars).多个锚接部件(dock widgets).一个状态栏(status ...
- QT+常用控件_Line Edit
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> #incl ...
- GUI创建各常用控件(二)
继续接着上一篇! 在我看来有一点需要申明:由于是GUI的相关知识,所以我只是在复习中粗略的总结而已,因此参考价值可能有限,更多的是当作自己学习的一个记录以及便于自己查阅. 好啦!干货继续: 1.类似于 ...
- Android support library支持包常用控件介绍(二)
谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现 Material Design设计效果,官方给出了Android support design library ...
- MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)
本节继续讲解常用控件--按钮控件的使用. 按钮控件简介 按钮控件包括命令按钮(Button).单选按钮(Radio Button)和复选框(Check Box)等.命令按钮就是我们前面多次提到的侠义的 ...
随机推荐
- 通过系统架构漏洞获取系统VIP资源
首先说我的构思: 一本小说,有很多集,每一集请求下载都会生成一个k的json,例如: 有了这个k我们就可以定位到这一集具体的位置,这本小说是固定的id,每一集的K找到了,剩下的不就简单了. 再通过抓包 ...
- Java基础知识学习(三)
面向对象部分 首先要了解面向对象的思想,与C#一致,都是面向对象的语言 访问修饰符 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private ...
- android项目中配置NDK自动编译生成so文件
1 下载ndk开发包 2 在android 项目中配置编译器(以HelloJni项目为例) 2.1 创建builer (a)Project->Properties->Builder ...
- sql server 有关锁的视图说明 syslockinfo
ransact-SQL 参考 https://msdn.microsoft.com/zh-cn/library/ms179881.aspx syslockinfo 包含有关所有已授权.正在转换和 ...
- Qt 怎么添加图片文件?
1.新建一个.qrc的文件 2.起个.qrc的文件名 3.完成后,添加图片文件 4.如图 就好了.
- javascript刷新父页面的内容
适应于超级链接和弹出窗口 function RefreshParent() { if (window.opener != null) { ...
- NopCommerce 发布时 Could not load file or assembly 'file:///...\Autofac.3.5.2\lib\net40\Autofac.dll' or one of its dependencies
本文转自:http://www.nopcommerce.com/boards/t/33637/4-errors.aspx 问题: The 3.5 solution compiles fine, and ...
- python读取excel并制表输出
源码如下: #!/usr/bin/python #coding=UTF-8 import xlrd import sys from texttable import Texttable def she ...
- AC日记——大小写字母互换 openjudge 1.7 14
14:大小写字母互换 总时间限制: 1000ms 内存限制: 65536kB 描述 把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母. 输入 输入一行:待互换的字符串 ...
- MyBatis配置文件解析
MyBatis配置文件解析(概要) 1.configuration:根元素 1.1 properties:定义配置外在化 1.2 settings:一些全局性的配置 1.3 typeAliases:为 ...