按钮

#include <QApplication> /*应用程序抽象类*/

#include <QWidget>  //窗口类
#include <QPushButton> //按钮 int main(int argc, char* argv[])
{
QApplication app(argc, argv); //应用程序 QWidget w; //构造窗口对象 没有父窗口的窗口为主窗口
w.setWindowTitle("Hello World");
w.show(); //显示窗口 QPushButton button; //子窗口
button.setText("button"); //按钮也是窗口
button.setParent(&w); //将button放入w 窗口对象的父子关系 影响显示位置
button.show(); //先显示w再显示button,顺序不同显示效果不同 //Qt对C++的拓展 参数1为QObject子类对象, 前两个为信号,后两个为槽
QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close())); return app.exec(); //exec 有信息循环,死循环,窗口不会不见
} //控件是个窗口

声明一个窗口,声明一个按钮(按钮本身是一个窗口),设置窗口对象的父子关系(影响显示位置),信号槽设置(button)

出现名为“Hello World”的窗口,单击”button“按钮,窗口消失。

输入框

 #include <QApplication> /*应用程序抽象类*/

 #include <QWidget>  //窗口类
#include <QCompleter>
#include <QLineEdit> //输入框 int main(int argc, char* argv[])
{
QApplication app(argc, argv); //应用程序 QWidget w; //构造窗口对象 没有父窗口的窗口为主窗口 QLineEdit edit; edit.setParent(&w); /*输入密码模式*/
edit.setEchoMode(QLineEdit::PasswordEchoOnEdit);
edit.setPlaceholderText("Please input text:");//输入提示
/*
QCompleter completer(QStringList () << "112358");//提示内容
completer.setFilterMode(Qt::MatchContains); //包含提示中的元素则显示提示
edit.setCompleter(&completer);
*/
w.show(); //显示窗口 edit.show(); w.setWindowTitle("Hello World"); return app.exec(); //exec 有信息循环,死循环,窗口不会不见
} //控件是个窗口

声明输入框,设置输入密码模式,并提供 输入提示。

        

输入密码前有提示,输入密码后隐藏密码。

注释18~19行代码,显示21~23行代码

输入时包含提示中的元素则显示提示

通过坐标设置按钮位置

 #include <QApplication> /*应用程序抽象类*/
#include <QWidget> //窗口类
#include <QPushButton> //按钮 int main(int argc, char* argv[])
{
QApplication app(argc, argv); //应用程序 QWidget w; //构造窗口对象 没有父窗口的窗口为主窗口 w.show(); //显示窗口
QPushButton button; //子窗口
button.setText("button"); //按钮也是窗口
button.setParent(&w); //将button放入w 窗口对象的父子关系 影响显示位置
button.show(); //先显示w再显示button,顺序不同显示效果不同 button.setGeometry(, , , );//在父窗口中的位置 //Qt对C++的拓展 参数1为QObject子类对象, 前两个为信号,后两个为槽
QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close())); w.setWindowTitle("Hello World"); return app.exec(); //exec 有信息循环,死循环,窗口不会不见
} //控件是个窗口
button.setGeometry(30, 30, 100, 30);

前两个参数为在父窗口的位置,后两个参数为按钮的长和宽。

通过网格设置位置

 #include <QApplication> /*应用程序抽象类*/
#include <QWidget> //窗口类
#include <QPushButton> //按钮
#include <QLineEdit>
#include <QVBoxLayout> // V 竖直
#include <QHBoxLayout> // H 水平
#include <QGridLayout> //格子
#include <QLabel> int main(int argc, char* argv[])
{
QApplication app(argc, argv); //应用程序 QWidget w; //构造窗口对象 没有父窗口的窗口为主窗口 QGridLayout layout;
QLineEdit* password;
layout.setColumnStretch(,); //右 ,第三列,比重为1
layout.setRowStretch( ,); //有坐标,不需要考虑先后顺序 ,下 第4行,比重为1
layout.setColumnStretch(,); //左
layout.setRowStretch(,); //上 layout.addWidget(new QLabel("Username:"),,); //(1,1)位置
layout.addWidget(new QLineEdit(), , );
layout.addWidget(new QLabel("PassWord:"), , ); layout.addWidget(password = new QLineEdit(), , );
password->setEchoMode(QLineEdit::Password); /*将水平的 hBox 加到网格的 layout 中 */
QHBoxLayout* hBox; //水平
layout.addLayout(hBox = new QHBoxLayout, , ); /*将水平的 hBox 加到网格的 layout 中 */
hBox->addStretch();// 水平 左边先加弹簧
hBox->addWidget(new QPushButton("登录"));//再加button w.show(); //显示窗口
w.setLayout(&layout); //放在w.show()之前
w.setWindowTitle("Hello World"); return app.exec(); //exec 有信息循环,死循环,窗口不会不见
} //控件是个窗口
layout.setColumnStretch(3,1);表示在第3列放入一个比重为1的弹簧。
layout.setRowStretch(4 ,1); 第4行


Qt5学习笔记(基础)的更多相关文章

  1. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  2. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  3. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  4. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章)python常用的IDE:Windows: IDLE(gui), Eclipse+PyDev; Python(command ...

  5. Qt5学习笔记(1)-环境配置(win+64bit+VS2013)

    Qt5学习笔记(1)-环境配置 工欲善其事必先-不装-所以装软件 久不露面,赶紧打下酱油. 下载 地址:http://download.qt.io/ 这个小网页就可以下载到跟Qt有关的几乎所有大部分东 ...

  6. Java学习笔记——基础篇

    Tips1:eclipse中会经常用到System.out.println方法,可以先输入syso,然后eclipse就会自动联想出这个语句了!! 学习笔记: *包.权限控制 1.包(package) ...

  7. Qt5学习笔记(消息基础)

    #include "MyWidget.h" #include <QApplication> #include <QEvent> #include <Q ...

  8. iOS学习笔记——基础控件(上)

    本篇简单罗列一下一些常用的UI控件以及它们特有的属性,事件等等.由于是笔记,相比起来不会太详细 UIView 所有UI控件都继承于这个UIView,它所拥有的属性必是所有控件都拥有,这些属性都是控件最 ...

  9. iOS开发学习笔记:基础篇

    iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...

随机推荐

  1. tp5在apache下能访问,但放到nginx下报404

    index index.php index.html index.htm; if ( -f $request_filename) { break; } if ( !-e $request_filena ...

  2. cmake重新编译

    删除文件夹下的文件 rm CMakeCache.txt 重新编译即可 安装g++ yum install gcc-c++

  3. 关于对象的 width offsetwidth availWidth scrollHeight

    别人总结的.自己记不住,所以留着 了 offsetWidth 包含了对象的边线的宽度width 若你不在html 代码里明确指定这个值,那它的返回值会不一样,如果设置了width 则一样. widht ...

  4. bitnami redmine svn配置

    采用bitnami 方案安装redmine svn服务器端会自己进行安装 1.创建版本库 首先进入remine安装目录的subversion/bin目录,例如我的安装目录是“/opt/redmine/ ...

  5. Crash以及报错总结

    CoreData: Cannot load NSManagedObjectModel.nil is an illegal URL parameter 这是因为在工程中CoreData的命名和AppDe ...

  6. TabHost实现通话记录界面

    //MainActivity.java   public class MainActivity extends TabActivity   {       @Override       public ...

  7. UVa 10382 Watering Grass (区间覆盖贪心问题+数学)

    题意:有一块长为l,宽为w的草地,在其中心线有n个喷水装置,每个装置可喷出以p为中心以r为半径的圆, 选择尽量少的装置,把草地全部润湿. 析:我个去啊,做的真恶心,看起来很简单,实际上有n多个坑啊,首 ...

  8. update 操作用法

    --update 这个字段的所值为2 update tab a set a.字段1=2; --带条件的update update tab a set a.字段1=2 where id=10000; - ...

  9. AE(ArcEngine)定制工具Tool工具箱

    using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServi ...

  10. PAT甲 1007. Maximum Subsequence Sum (25) 2016-09-09 22:56 41人阅读 评论(0) 收藏

    1007. Maximum Subsequence Sum (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Y ...