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设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...
随机推荐
- linux-git服务搭建
第一步,安装git: 源码安装参考:http://www.cnblogs.com/syuf/p/9151115.html 第二步,创建一个git用户,用来运行git服务: $ sudo adduser ...
- 结构体的sort【防止遗忘w】
#include<iostream> #include<algorithm> using namespace std; int n; struct jie { int num; ...
- Jmeter中的XPath Assertion
XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointe ...
- 外网不能访问阿里云服务器的apache服务
今天弄了下Ubuntu的服务器,配置了一个LAMP环境的服务器,配置有时间我再来说 但是配置了很长的时间,差不都怕是好几个小时 在配置apache的时候,出现了问题,好不容易把apache服务配置好 ...
- 2018.10.15 bzoj3564: [SHOI2014]信号增幅仪(坐标处理+最小圆覆盖)
传送门 省选考最小圆覆盖? 亦可赛艇(你们什么都没看见) 在大佬的引领下成功做了出来. 就是旋转坐标使椭圆的横轴跟xxx轴平行. 然后压缩横坐标使得其变成一个圆. 然后跑最小覆盖圆就可以了. 注意题目 ...
- 2018.06.29 NOIP模拟 Minimum(最小生成树)
Minimum 题目背景 SOURCE:NOIP2015-SHY-2 题目描述 给出一幅由 n 个点 m 条边构成的无向带权图. 其中有些点是黑点,另外点是白点. 现在每个白点都要与他距离最近的所有黑 ...
- Linux抓包
默认系统里边没有安装有tcpdump的,无法直接使用 这里我们可以使用yum来直接安装它 yum install -y tcpdump 如果忘记了这个软件的用法,我们可以使用 tcpdump ...
- day04(权限修饰符,内部类,局部内部类,匿名内部类)
权限修饰符, Public >protected >default > private public 公共权限 随便都可以访问 protected 子类可以访问权限 (子类 ...
- 配置好Nginx后,通过flume收集日志到hdfs(记得生成本地log时,不要生成一个文件,)
生成本地log最好生成多个文件放在一个文件夹里,特别多的时候一个小时一个文件 配置好Nginx后,通过flume收集日志到hdfs 可参考flume的文件 用flume的案例二 执行的注意点 avro ...
- vim 配置半透明
转载两个博客 链接一 链接二