系统整理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 ...
随机推荐
- linux不使用useradd添加新用户
不使用useradd创建新的用户 1.进入用户特征信息:/etc/passwd 编辑: vim /etc/passwd 命令模式 :G 进入末行 进入编辑模式 :在最后添加新用户信息: 例:new_u ...
- 别人都在认真听课,我埋头写Python为主播疯狂点点点点点赞!
最近有次在钉钉看直播,发现这个直播非常之精彩,于是情不自禁地想要为主播大佬连刷一波赞: 但我发现,手动连击点赞速度十分不可观.气人的是,钉钉直播不能长按刷赞!这让我很恼怒.心中满怀的激动和兴奋以及对大 ...
- eclipse使用的步骤
eclipse使用的步骤: 第一步: 选择工作目录. 以后在Eclipse上面写的所有代码都是在工作目录上的. 第二步: 在Project Exploer 窗口上创建一个工程,以后我们写代码都是以工程 ...
- LeetCode随缘刷题之两数相加
逐步解释,有说错的地方欢迎指正. package leetcode.day_12_03; /** * 给你两个非空 的链表,表示两个非负的整数.它们每位数字都是按照逆序的方式存储的,并且每个节点只能存 ...
- iOS 如何监听用户在手机设置里改变了系统的时间?
如何监听用户未退出APP但通过Home键在手机设置里改变了系统的时间? 用户虽未退出APP,但是当它按Home键退到后台时 ,会调用该方法: - (void)applicationDidEnterBa ...
- 07.并发编程Threads
参考文档 https://www.cnblogs.com/springsnow/p/9409205.html#_label0 1. 基础概念 1.1 进程/线程/多线程 进程(Process) 计算机 ...
- Note -「圆方树」学习笔记
目录 圆方树的定义 圆方树的构造 实现 细节 圆方树的运用 「BZOJ 3331」压力 「洛谷 P4320」道路相遇 「APIO 2018」「洛谷 P4630」铁人两项 「CF 487E」Touris ...
- Solution -「CF 555E」Case of Computer Network
\(\mathcal{Description}\) Link. 给定 \(n\) 个点 \(m\) 条边的无向图,判断是否有给每条边定向的方案,使得 \(q\) 组有序点对 \((s,t)\) ...
- 使用SetTrustedCredmanAccessPrivilege获取已保存的凭据
windows系统中有一个名为SeTrustedCredmanAccessPrivilege的权限,使拥有该特权的进程可作为受信任的调用者访问凭据管理器. 凭据管理器可以从控制面板 -> ...
- .NET 云原生架构师训练营(权限系统 代码实现 WebApplication)--学习笔记
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.WebA ...