QT 常用控件一
QWidget 创建窗口
如果widget未使用腹肌进行创建,则在显示时视为窗口或顶层widget。
由于顶层widget没有父级对象类来确保在其不再使用时删除,所以需要开发人员在应用程序中对其进程跟踪。
在本例中,使用QWidget创建和显示具有默认大小的窗口
QWidget *win=new QWidget();
win->resize(,);
win_>show();
QPushButtopn *btn1=new QPushButton(tr("press me"),win);
btn1->move(,);
btn1->show();
QHBoxLayout
通常,子Widget是通过使用布局对象在窗口中进行排列的,而不是通过指定位置和大小进行排列的。再次,构造一个并排排列的标签和行编辑框Widgget:
QLabel *label1=new QLabel(tr("Name:"));
QLineEdit *edit1=new QLineEdit();
QHBoxLayout *layout1=new QHBoxLayout();
layout1->addWidget(label1);
layout1->addWidget(edit1);
window->setLayout(layout1);
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
edit1=new QLineEdit();
label1=new QLabel();
label1->setText("please print:");
/*QHBoxLayout横向添加控件,所有的控件都在一行上*/
QHBoxLayout *layout1=new QHBoxLayout();
layout1->addWidget(label1);
layout1->addWidget(edit1);
/*如果使用this作为初始化参数,则不需要使用setLayout()方法*/
this->setLayout(layout1);
}
QVBoxLayout
由于Widget可包含其他Widget,所以布局可用来提供按不同层次分组的Widget。
这里,要在显示查询结果的表视图上方,窗口顶部的行编辑框旁,显示一个标签:
QLabel *querylabel=new QLabel("Query:");
QLineEdit *queryedit=new QLineEdit();
QTableView *resview=new QTableView(); QHBoxLayout *querylayout=new QHBoxLayout();
querylayout->addWidget(querylabel);
querylayout->addWidget(queryedit); QVBoxLayout *mainlayout=new QVBoxLayout();
mainlayout->addWidget(querylayout);
mainlayout->addWidget(resview);
this->setLayout(mainlayout);
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
edit1=new QLineEdit();
edit2=new QLineEdit();
label1=new QLabel();
label1->setText("帐号:");
label2=new QLabel();
label2->setText("密码:");
btn1=new QPushButton();
btn1->setText("确定");
btn2=new QPushButton();
btn2->setText("取消");
/*QVBoxLayout纵向添加控件,所有的控件在一列上*/
QVBoxLayout *layout1=new QVBoxLayout(this);
QHBoxLayout *layout2=new QHBoxLayout();
layout1->addWidget(label1);
layout1->addWidget(edit1);
layout1->addWidget(label2);
layout1->addWidget(edit2);
layout2->addWidget(btn1);
layout2->addWidget(btn2);
/*将layout2加入到layout1中,不是用setLayout()*/
layout1->addLayout(layout2);
}

QT 常用控件一的更多相关文章
- Qt常用控件
		
Qt常用控件 QWidget与QFrame QWidget所有图形控件的基类 QFrame与QWidget的区别 QFrame是基本控件的基类, QWidget是QFrame的基类. 因此QFrame ...
 - QT 常用控件二
		
QT提供QHBoxLayout类.QVBoxlayout类及QGridLayout类等的基本布局管理,分别是水平排列布局,垂直排列布局和网格排列布局 addWidget()方法用于向布局中加入需要布局 ...
 - Qt——常用控件样式
		
下面是我设计.调整.修改的Qt控件样式,仅供参考. Github地址:https://github.com/ikongziming/QtDemo/tree/master/StyleSheetDemo ...
 - QT常用控件(三)——自定义控件封装
		
引言 Qt已经提供了很多的基础控件供开发使用,而Qt原生的控件有时候并不能满足我们的需求,特别是在工业的运用上,比如我们需要一个日期时间的选择器,Qt虽然已经提供了原生的QDateTime控件,但这个 ...
 - QT+常用控件_Line Edit
		
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> #incl ...
 - QT常用控件(一)——菜单栏和对话框
		
引言 QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar).多个工具栏(tool bars).多个锚接部件(dock widgets).一个状态栏(status ...
 - QT_7_资源文件_对话框_QMessageBox_界面布局_常用控件
		
资源文件 1.1. 将资源导入到项目下 1.2. 添加文件—>Qt -->Qt Resource File 1.3. 起名称 res ,生成res.qrc文件 1.4. 右键 open i ...
 - android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)
		
第三节(2):常用控件之ViewPager.日期时间相关.ListView 一.ViewPager 实例:结合PagerAdapter滑动切换图片 二.日期时间相关:AnalogClock\Dig ...
 - [WinForm]WinForm跨线程UI操作常用控件类大全
		
前言 在C#开发的WinForm窗体程序开发的时候,经常会使用多线程处理一些比较耗时之类的操作.不过会有一个问题:就是涉及到跨线程操作UI元素. 相信才开始接触的人一定会遇上这个问题. 为了解决这个问 ...
 
随机推荐
- jQuery和ExtJS的timeOut超时问题和event事件处理问题
			
对jQuery来说,超时可以直接设置timeout参数,并在error事件中捕获第二个参数,如果是“timeout”则表明捕获了超时事件,非常清楚. 例子: $.ajax({ type ...
 - 后台管理UI皮肤的选择
			
后台管理UI的选择 目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.Admin LTE 九.INSPINIA 十. ...
 - Web端即时通讯技术原理详解
			
前言 有关IM(InstantMessaging)聊天应用(如:微信,QQ).消息推送技术(如:现今移动端APP标配的消息推送模块)等即时通讯应用场景下,大多数都是桌面应用程序或者native应用较为 ...
 - 让你脱离google不能访问的烦恼
			
大陆封了google已有20多天了,给开发者带来了许多不便.只需两步让你的google可以使用: 1.设置hosts: 访问:https://git.oschina.net/kawaiiushio/m ...
 - plsql 查询结果窗口 不正常
			
今天发现了一个很有趣的现象,一个查询语句查出来的结果窗口只显示一部分. 是因为查询语句中有全角的字符或者空格: 如果是sqlServer的话直接就报错了,而plsql不报错,显示如下
 - javascript 基础教程[温故而知新一]
			
子曰:“温故而知新,可以为师矣.”孔子说:“温习旧知识从而得知新的理解与体会,凭借这一点就可以成为老师了.“ 尤其是咱们搞程序的人,不管是不是全栈工程师,都是集十八般武艺于一身.不过有时候有些知识如果 ...
 - Linux 引导修复
			
前些天,我的Ubuntu老提示"Filesystem root"空间不足,于是,我煞笔的用win pe去扩展空间,结果,空间扩展不成,反倒丢失了引导..... 于是就上网查资料,看 ...
 - Linux 多线程编程
			
概念 原来指向main()的线程叫做主线程(main thread) 使用pthread_create()创建出来的线程,叫做子线程(child thread) 主/子线程只有在创建时才有区别, 创建 ...
 - android 利用线程刷新UI方法
			
新建线程new Thread(new Runnable() 线程方法:public void run() private void setAddWidgetEnabled(boolean enable ...
 - 折半算法的C#实现方式-递归和非递归
			
这个算法,相信大家都懂,但是不真正的手动写一遍,总觉得不得劲.这不,手动写一遍就是有不一样的效果出现了. 往左折半,还是往右走比较简单,其实这两个算法最关键的是:退出条件 min > max ...