Qt5学习笔记(基础)
按钮
#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学习笔记(基础)的更多相关文章
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)
注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...
- 《python基础教程(第二版)》学习笔记 基础部分(第1章)
<python基础教程(第二版)>学习笔记 基础部分(第1章)python常用的IDE:Windows: IDLE(gui), Eclipse+PyDev; Python(command ...
- Qt5学习笔记(1)-环境配置(win+64bit+VS2013)
Qt5学习笔记(1)-环境配置 工欲善其事必先-不装-所以装软件 久不露面,赶紧打下酱油. 下载 地址:http://download.qt.io/ 这个小网页就可以下载到跟Qt有关的几乎所有大部分东 ...
- Java学习笔记——基础篇
Tips1:eclipse中会经常用到System.out.println方法,可以先输入syso,然后eclipse就会自动联想出这个语句了!! 学习笔记: *包.权限控制 1.包(package) ...
- Qt5学习笔记(消息基础)
#include "MyWidget.h" #include <QApplication> #include <QEvent> #include <Q ...
- iOS学习笔记——基础控件(上)
本篇简单罗列一下一些常用的UI控件以及它们特有的属性,事件等等.由于是笔记,相比起来不会太详细 UIView 所有UI控件都继承于这个UIView,它所拥有的属性必是所有控件都拥有,这些属性都是控件最 ...
- iOS开发学习笔记:基础篇
iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...
随机推荐
- PAT 1077 互评成绩计算(20)(代码+思路)
1077 互评成绩计算(20 分) 在浙大的计算机专业课中,经常有互评分组报告这个环节.一个组上台介绍自己的工作,其他组在台下为其表现评分.最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一 ...
- Problem B. Market(market.c/cpp/pas)
Problem B. Market(market.c/cpp/pas)Time limit: 1 secondsMemory limit: 128 megabytes在比特镇一共有 n 家商店,编号依 ...
- 合成冷色黑暗恐怖魔法师图片的PS教程
教程主要使用Photoshop合成黑暗风格的魔法师施法场景,整体的场景效果以冷色风格为主,加上素材的叠加完成最终效果图,希望朋友可以喜欢.效果图: 先把背景拖进去,用工具吧字母弄掉. 加一个调色图层 ...
- 值得一看!2018年最优秀的9个Android Material Design Apps!
今年4月,谷歌Gmail推出了全新的设计外观,全新的配色方案,更多的空白区域和精致的图标.也带来了Material Design 的一些改变 – Material Theming (材料主题),旨在自 ...
- iOS沙盒机制介绍
一.沙盒机制 沙盒的概念:沙盒是每一个iOS应用程序都会自动创建的一个文件系统目录(文件夹),而且沙盒还具有独立.封闭.安全的特点. 沙盒机制 iOS中的沙盒不仅仅是一个文件目录,TA其实更是一种安全 ...
- 【commons-httpclient】Java中HttpClient工具访问Web请求
注意jar包是: HttpClient工具使用 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程 ...
- 2018.10.19 NOIP模拟 硬币(矩阵快速幂优化dp)
传送门 不得不说神仙出题人DZYODZYODZYO出的题是真的妙. f[i][j][k]f[i][j][k]f[i][j][k]表示选的硬币最大面值为iii最小面值不小于jjj,总面值为kkk时的选法 ...
- 2018.07.04 BZOJ 2618 Cqoi2006凸多边形(半平面交)
2618: [Cqoi2006]凸多边形 Time Limit: 5 Sec Memory Limit: 128 MB Description 逆时针给出n个凸多边形的顶点坐标,求它们交的面积.例如n ...
- 使用bat批处理文件备份postgresql数据库
@echo offset pgsql_path=d:\"Program Files"\PostgreSQL\9.3\bin\ //安装目录set database=postgr ...
- UVa 11134 Fabled Rooks (贪心+问题分解)
题意:在一个n*n的棋盘上放n个车,让它们不互相攻击,并且第i辆车在给定的小矩形内. 析:说实话,一看这个题真是没思路,后来看了分析,原来这个列和行是没有任何关系的,我们可以分开看, 把它变成两个一维 ...