系统整理qt笔记1
main.cpp
#include "mywidget.h"
#include <QApplication>//包含一个应用程序类的头文件
#include <iostream>
#include <QThread>
#include <QDebug>
#include <thread>
#include <QString> //帮助文档 F1 退出ESC
//自动对其 ctrl + i
//同名之间的.h和.cpp切换 F4 using namespace std; //main程序入口 argc命令行变量的数量 argv命令行变量的数组
int main(int argc, char *argv[])
{
//a应用程序对象,在QT中,应用程序对象,有且只有一个
QApplication a(argc, argv); cout << "nihao" << endl; //打印线程id方法 1
QString LogInfo;
LogInfo.sprintf("%p", QThread::currentThread());
qDebug() << "OpenSerialPort " <<"threadID : "<<LogInfo; //打印线程id方法 2
//以下代码片段得到当前线程的id,并通过QT输出窗口输出调试信息
std::thread::id id = std::this_thread::get_id();
cout << "----打印线程id:----" << id;
// std::stringstream sin;
// sin << id; // qDebug()<<"threadID : "<<QString::fromStdString(sin.str()); //窗口对象 它的父类是QWidget
MyWidget w;
w.show(); //在应用程序对象进入消息循环(机制)
//让代码阻塞到这儿
return a.exec();
}
mywidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H #include <QWidget> class MyWidget : public QWidget
{
Q_OBJECT // Q_OBJECT 宏,允许类中使用信号和槽的机制 public:
MyWidget(QWidget *parent = 0);
~MyWidget();
}; #endif // MYWIDGET_H
mywidget.cpp
#include "mywidget.h"
#include <QPushButton>
#include "mypushbutton.h" MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
//创建一个按钮 让btn对象依赖在 MyWidget中
QPushButton * btn1 = new QPushButton("第一个按钮", this);
btn1->resize(80, 20);
//重置窗口大小
//resize(600, 400);
//设置窗口标题
setWindowTitle("第一个窗口");
//设置固定窗口大小(用户不能修改)
setFixedSize(600, 400); //创建第二个按钮
QPushButton * btn2 = new QPushButton;
btn2->setParent(this);
btn2->setText("第二个按钮");
btn2->move(100, 100); //创建自己的按钮
MyPushButton * btn3 = new MyPushButton;
btn3->setParent(this);
btn3->setText("自己的按钮");
btn3->move(200, 0); //需求 点击我的按钮 关闭窗口
connect(btn3, &QPushButton::clicked, this, &MyWidget::close);
//connect(btn3, &MyPushButton::clicked, this, &QWidget::close); } MyWidget::~MyWidget()
{ }
mypushbutton.h
#ifndef MYPUSHBUTTON_H
#define MYPUSHBUTTON_H #include <QPushButton> class MyPushButton : public QPushButton
{
Q_OBJECT
public:
explicit MyPushButton(QWidget *parent = nullptr); ~MyPushButton(); signals: public slots:
}; #endif // MYPUSHBUTTON_H
mypushbutton.cpp
#include "mypushbutton.h" #include <QDebug> MyPushButton::MyPushButton(QWidget *parent) : QPushButton(parent)
{
qDebug() << "我的按钮类构造调用"; } MyPushButton::~MyPushButton()
{
qDebug() << "我的按钮类析构"; }
系统整理qt笔记1的更多相关文章
- 系统整理qt笔记3
qtcreator中不能输入中文: https://blog.csdn.net/qq_15725099/article/details/97305507 main.cpp #include " ...
- 麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12
前言 开发国产应用,使用到银河麒麟V4,V10,本篇以V10记录,参照上一篇可安装V4.V7.V10三个版本,麒麟V4系自带了Qt,麒麟V10没有自带Qt,需要自己编译搭建环境. 银河麒麟V1 ...
- 《Android系统开发》笔记
<Android系统开发>笔记1:Android系统概述 Android四层架构: 1. Linux Kernel&driver层 a.依赖于Linux 2.6内核,包含安全性.内 ...
- Linux系统运维笔记(五),CentOS 6.4安装java程序
Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选 ru ...
- Linux系统运维笔记(四),CentOS 6.4安装 MongoDB
Linux系统运维笔记(四),CentOS 6.4安装 MongoDB 1,下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...
- Linux系统运维笔记(四),CentOS 6.4安装Nginx
Linux系统运维笔记(四),CentOS 6.4安装Nginx 1,安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool op ...
- Linux系统运维笔记(三),设置IP和DNS
Linux系统运维笔记(三),设置IP和DNS 手工配置静态的IP地址 也就是手工配置IP地址.子网掩码.网关和DNS. vi /etc/sysconfig/network-scripts/ifcfg ...
- Linux系统运维笔记(二),Linux文件编辑命令
Linux系统运维笔记 Linux文件编辑命令 首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式 接下来我们按i,然后键盘随便输入写内容. 然后按ESC重新进入到命令 ...
- Linux系统运维笔记(一),查看系统版本和设置系统时间
Linux系统运维笔记 查看系统版本和设置系统时间 查看系统版本 lsb_release -a (适用于所有的linux,包括Redhat.SuSE.Debian等发行版,但是在debian下要安装l ...
随机推荐
- Shell 脚本进阶,经典用法及其案例
一.条件选择.判断 1.条件选择if (1)用法格式 if 判断条件 1 ; then 条件为真的分支代码 elif 判断条件 2 ; then 条件为真的分支代码 elif 判断条件 3 ; the ...
- 学习JAVAWEB第五天
# 今日内容 1. JavaScript基础 ## JavaScript: * 概念: 一门客户端脚本语言 * 运行在客户端浏览器中的.每一个浏览器都有JavaScript的解析引擎 * 脚本语言:不 ...
- Java动态绑定和静态绑定-多态
一.问题 Java方法调用过程中,Jvm是如何知道调用的是哪个类的方法?Jvm又是如何处理? 二.概念 a.当子类和父类(接口和实现类)存在同一个方法时,子类重写父类(接口)方法时,程序在运行时调 ...
- 「 MySQL高级篇 」MySQL索引原理,设计原则
大家好,我是melo,一名大二后台练习生,大年初三,我又来充当反内卷第一人了!!! 专栏引言 MySQL,一个熟悉又陌生的名词,早在学习Javaweb的时候,我们就用到了MySQL数据库,在那个阶段, ...
- JAVA变量的数据类型
1. 整型 byte 代表一个字节的大小 8bit 2(8) -128~127 256 short 代表两个字节的大小 16bit 2(16) -2(15)~2(1 ...
- WordPress子模板继承
很多时候我们不想重写模板,而是想在某个模板的基础上进行修改,那么这个时候我们就需要用到模板继承技巧. 子主题开发 style.css 是必须的文件,只需要新增 Template: 父模板的文件夹名
- activiti5.13 框架 数据库表结构说明
1.结构设计 1.1. 逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: 'RE'表示repository(存储),RepositoryService接口所操作的 ...
- Linux常用命令精华讲解 上部 (下部下回分解)不要催很忙的
Linux常用命令讲解 1.Linux命令基础 2.Linux命令帮助 3.目录与文件的基操 1.Shell是系统中运行的一种特殊程序在用户和内核之间充当"翻译官"的角色,登录li ...
- Zabbix企业级开源监控解决方案
Zabbix企业级开源监控解决方案 目录 Zabbix企业级开源监控解决方案 一.Zabbix 1. 监控系统的必要性 2. 监控软件的作用 3. Zabbix的定义 4. Zabbix的监控原理 5 ...
- 【ASP.NET Core】设置 Web API 响应数据的格式——FormatFilter特性篇
在上一篇烂文中老周已向各位介绍过 Produces 特性的使用,本文老周将介绍另一个特性类:FormatFilterAttribute. 这个特性算得上是筛选器的马甲,除了从 Attribute 类派 ...