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 常用控件一的更多相关文章

  1. Qt常用控件

    Qt常用控件 QWidget与QFrame QWidget所有图形控件的基类 QFrame与QWidget的区别 QFrame是基本控件的基类, QWidget是QFrame的基类. 因此QFrame ...

  2. QT 常用控件二

    QT提供QHBoxLayout类.QVBoxlayout类及QGridLayout类等的基本布局管理,分别是水平排列布局,垂直排列布局和网格排列布局 addWidget()方法用于向布局中加入需要布局 ...

  3. Qt——常用控件样式

    下面是我设计.调整.修改的Qt控件样式,仅供参考. Github地址:https://github.com/ikongziming/QtDemo/tree/master/StyleSheetDemo ...

  4. QT常用控件(三)——自定义控件封装

    引言 Qt已经提供了很多的基础控件供开发使用,而Qt原生的控件有时候并不能满足我们的需求,特别是在工业的运用上,比如我们需要一个日期时间的选择器,Qt虽然已经提供了原生的QDateTime控件,但这个 ...

  5. QT+常用控件_Line Edit

    #include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> #incl ...

  6. QT常用控件(一)——菜单栏和对话框

    引言 QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar).多个工具栏(tool bars).多个锚接部件(dock widgets).一个状态栏(status ...

  7. QT_7_资源文件_对话框_QMessageBox_界面布局_常用控件

    资源文件 1.1. 将资源导入到项目下 1.2. 添加文件—>Qt -->Qt Resource File 1.3. 起名称 res ,生成res.qrc文件 1.4. 右键 open i ...

  8. android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)

    第三节(2):常用控件之ViewPager.日期时间相关.ListView  一.ViewPager 实例:结合PagerAdapter滑动切换图片  二.日期时间相关:AnalogClock\Dig ...

  9. [WinForm]WinForm跨线程UI操作常用控件类大全

    前言 在C#开发的WinForm窗体程序开发的时候,经常会使用多线程处理一些比较耗时之类的操作.不过会有一个问题:就是涉及到跨线程操作UI元素. 相信才开始接触的人一定会遇上这个问题. 为了解决这个问 ...

随机推荐

  1. iOS-字符属性NSAttributedString描述

    /* 字符属性 字符属性可以应用于 attributed string 的文本中. NSString *const NSFontAttributeName;(字体) NSString *const N ...

  2. 豆瓣FM 歌词跟随插件

    一直在用豆瓣FM,发现老是没有歌词很不方便,今天找了下.找到一个不错的插件. 插件原文地址:http://www.douban.com/group/topic/47559280/ 插件下载地址:htt ...

  3. 深入理解Angular中的$Apply()以及$Digest()

    $apply()和$digest()在AngularJS中是两个核心概念,但是有时候它们又让人困惑.而为了了解AngularJS的工作方式,首先需要了解$apply()和$digest()是如何工作的 ...

  4. JAVA中获取路径

    内容来自于snannan_268 关键字: java中获取路径 JAVA中获取路径: 1.jsp中取得路径:   以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.get ...

  5. NuGet学习笔记1——初识NuGet及快速安装使用

    关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...

  6. 数据处理/OLAP/OLTP

  7. 记一次MongoDB Map&Reduce入门操作

    需求说明 用Map&Reduce计算几个班级中,每个班级10岁和20岁之间学生的数量: 需求分析 学生表的字段: db.students.insert({classid:1, age:14, ...

  8. C#邮件发送问题(二)

    C#邮件发送问题(一) 三.C#下创建基于TcpClient发送邮件组件 在上一节在Dos命令行下测试SMTP服务器连接时,已经使用了SMTP的部分命令,但是当时无法对信息进行编码和解码,也就无法继续 ...

  9. 高性能MySQL笔记 第5章 创建高性能的索引

    索引(index),在MySQL中也被叫做键(key),是存储引擎用于快速找到记录的一种数据结构.索引优化是对查询性能优化最有效的手段.   5.1 索引基础   索引的类型   索引是在存储引擎层而 ...

  10. Error while performing database login with the sqljdbc driver:Unable to create connection. Check your URL.

    从微软官网下载jdbc驱动包sqljdbc4,运行sqljdbc_4.0.2206.100_chs.exe,将驱动包解压到了Microsoft JDBC Driver 4.0 for SQL Serv ...