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设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...
随机推荐
- 学美工、平面设计、UI设计,哪个有前途?
首先,在分析学美工.平面设计.UI设计,哪一个更有前途的时候,先要对三类设计有一个大概的了解. 比如“学美工.平面设计.UI设计是什么”等知识,才能更好地去进行选择. 01 阐述美工.平面设计.UI设 ...
- [BAT] xcopy拷贝远程服务器共享文件到本地
net use * /del /yes NET USE Y: \\10.86.17.243\d$ Autotest123 /user:MSDOMAIN1\doautotester set source ...
- Java数据结构和算法(一)概念
Java数据结构和算法(一)概念 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 一.逻辑结构 数据之间的相互关系称为逻辑结构 ...
- chrome审查元素功能,web开发强大帮手
怎样打开Chrome的开发者工具? 你可以直接在页面上点击右键,然后选择审查元素: 或者在Chrome的工具中找到: 或者,你直接记住这个快捷方式: Ctrl+Shift+I (或者Ctrl+Shif ...
- 类内初始值(c++11)
1.概念 1)可以为数据成员提供一个类内初始值,创建对象时,类内初始值用于初始化数据成员,没有初始值的成员将被默认初始化 2)类内初始值和赋值类似,或者放在花括号里(如数组),或者放在等号右边,不能使 ...
- 11) 生成可执行jar文件 maven-shade-plugin
搜索 site:maven.apache.org maven-assembly-plugin http://maven.apache.org/plugins/maven-assembly-plugin ...
- ubuntu 14.04查看java的安装路径
有时候,使用apt-get install 安装了某个软件之后,却不知道这个软件的安装路径在哪里. 那怎么样去找出这个软件的安装路径呢? 下面我们java 这个软件为例, 找出ubuntu 14.04 ...
- (KMP Next的运用) Period II -- fzu -- 1901
http://acm.fzu.edu.cn/problem.php?pid=1901 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=703 ...
- 分离 桂林电子科技大学第三届ACM程序设计竞赛
链接:https://ac.nowcoder.com/acm/contest/558/H 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 破解Oracle ERP密码
前提:你有apps的数据库账户,想知道某个用户的密码,因为fnd_user中的密码为加密的,所以无法看懂,你可以尝试用下边的方式来查看用户密码. SQL> desc fnd_user; Name ...