项目文件

01_QtTest.pro

#-------------------------------------------------
#
# Project created by QtCreator 2019-04-11T17:07:35
#
#------------------------------------------------- #添加Qt支持的模块,一个是core基础代码模块,包含运算的,gui是图形界面库
QT += core gui #如果QT主版本大于4(也就是说当前使用的是Qt5或者更高版本),则需要添加widgets模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets # 应用程序的名字
TARGET = 01_QtTest #指定Makefile的类型, app
TEMPLATE = app #工程项目包含的源文件
SOURCES += main.cpp \
mywidget.cpp
mywidget.cpp #工程项目包含的头文件
HEADERS += mywidget.h

头文件

mywidget.h

/**********************************
语句1 #ifndef 标识1
语句2 #define 标识1
语句3 #endif
语句4 ……
语句5 ……
该段代码意思是:如果标识1没有被定义,则重定义标识1,即执行语句2、语句3;
如果标识1已经被定义,则直接跳过语句2、语句3,直接执行语句4、语句5、……
***********************************/ #ifndef MYWIDGET_H
#define MYWIDGET_H #include <QWidget> class MyWidget : public QWidget//光标停留在红色字体这里,点击F1可以查找手册
{
Q_OBJECT//信号与槽时候需要的 public:
MyWidget(QWidget *parent = 0);
/****************************
* QWidget*parent=0,父控件引用,用于向或者从父控件传递事件Signal-Slot那些。
* 这个不是继承关系,而是图形界面上各个组件之间的逻辑拓扑关系。
* 比如放在Tab里的TextBox要随着Tab大小的变化而变动自己的尺寸,事件就是通过这个传递的。
* 形参里面写着parent=0,是默认值0,C++可以通过预赋值“省略”一些形参。
* 你这里就是myWidget不是任何控件的子控件。
* 整个下来,myWidget继承QWidget,构造函数默认为0.
* 可以在构造函数初始化一切你想要的东西,说白点就是前戏!!
***************************/
~MyWidget();//对象消亡时,自动被调用,用来释放对象占用的空间
}; #endif // MYWIDGET_H

源文件

main.cpp

#include "mywidget.h"

//QApplication应用程序类
//Qt头文件没有.h
//头文件和类名一样
#include <QApplication> int main(int argc, char *argv[])
{
//有且只有一个应用程序类的对象
QApplication a(argc, argv); //MyWidget继承与QWidget,QWidget是一个窗口基类
//所以MyWidget也是窗口类
//w就是一个窗口
MyWidget w; //窗口创建默认是隐藏,需要人为显示
w.show(); //让程序一直执行,等待用户操作
//等待事件的发生
return a.exec();
}

mywidget.cpp

#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
} MyWidget::~MyWidget()
{ }

结果显示

让你的QT显示一个窗口吧的更多相关文章

  1. Excel在任务栏中只显示一个窗口的解决办法

     Excel在任务栏中只显示一个窗口的解决办法  以前朋友遇到过这个问题,这次自己又遇到了,习惯了以前的那种在任务栏中显示全部窗口,方便用Alt+Tab键进行切换. 如果同时打开许多Excel工作簿, ...

  2. 在线程中显示一个窗口(多个UI线程)

    多数耗时操作可以异步执行,推荐async/await. 但和UI相关的部分仅能在UI线程执行,这时UI线程的耗时操作,导致界面卡死,不够友好. 我们可以创建一个单独的UI线程显示一个正在加载的窗口,可 ...

  3. windows程序设计 显示一个窗口

    #include <windows.h> HINSTANCE hinst; LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM) ...

  4. vscode 打开新文件覆盖窗口,始终显示一个窗口

    一直在使用vscode 编辑器,里面的扩展用的比较舒服,但是最近遇到一个小问题,一直也没有找好的解决办法,今天无意中把问题给解决了.具体如下 之前使用编辑器,可以同时打开多个文件,而且是多窗口展示的, ...

  5. QT:窗口最小化时显示一个小浮标

    有些窗口在自身最小化时要在桌面上显示一个小浮标,让用户利用这个小浮标进行各种操作(例如迅雷的悬浮窗一样),我试着用QT实现一下这个功能. PS:本来以为这个功能很简单,却搞了我两个晚上,泪奔... 思 ...

  6. QT+创建两个不相干的窗口实现一个显示一个不显示

    因为两个窗口互不相干,所以需要重新创建一个窗口类subWidget subWidget.cpp文件 #ifndef SUBWIDGET_H #define SUBWIDGET_H #include & ...

  7. QT中关于窗口全屏显示与退出全屏的实现

    近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一些关于这方面的答案,希望能给大家一些帮助. 首先,在QT中对于窗口显示常用的有这么几个方法可以调用: Qt全屏显示 ...

  8. 窗口嵌入到另一个窗口(VC和QT都有)

    1.用vc新建一个dialog1工程.属性默认. 2.insert一个dialog2,改为child. 3.在dialog1中包含dialog2头文件,在一个按钮事件中显示dialog2: Cdial ...

  9. QApplication::alert 如果窗口不是活动窗口,则会向窗口显示一个警告(非常好用,效果就和TeamViewer一样)

    void QApplication::alert(QWidget * widget, int msec = 0)如果窗口不是活动窗口,则会向窗口显示一个警告.警报会显示msec 毫秒.如果毫秒为零,闪 ...

随机推荐

  1. 【node】用koa搭建一个增删改服务(一)

    前文,vue分类里有一个日志demo的练习,这篇文章就是介绍针对日志demo的服务是怎么写的 一.koa搭建项目 1. npm init 2. npm install koa 二.建数据库 下面是项目 ...

  2. Spring Boot—14JdbcTemplate

    pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  3. 朴素贝叶斯文本分类实现 python cherry分类器

    贝叶斯模型在机器学习以及人工智能中都有出现,cherry分类器使用了朴素贝叶斯模型算法,经过简单的优化,使用1000个训练数据就能得到97.5%的准确率.虽然现在主流的框架都带有朴素贝叶斯模型算法,大 ...

  4. Reset GitLab Root Password

    重置gitlab管理员密码 Log into your server with root privileges. Then start a Ruby on Rails console. Start t ...

  5. Android 图板之保存图像

    (1)为了能适应多种屏幕尺寸的手机,我们在创建图像的时候就要根据用户手机屏幕的宽高像素来创建. (2)该软件将把图形保存到sdcard中,在保存之前,需要检测sdcard是否存在,是否可写入.如通过以 ...

  6. sqlserver为数据库表增加自增字段

     需求: 数据库为SQLServer.对已有的数据库表customer加一个序号字段,一次性对所有现存客户加上编号,并在新建客户时自动增加一个编号,数值自增1. 解决方法: 1. 复制表结构.把原 ...

  7. 5.URL

    1.URL(Uniform Resource Locators) URL可以由字母组成,如"W3CSchools.cc", 或互联网协议(IP)地址: 192.68.20.50. ...

  8. 手动配置wnmp环境

    wamp 是什么? windows,nginx,mysql,php(当然也可以是PYTHON等) 只所以使用nginx,是因为我等下要配置ZendGuardLoader ZendGuardLoader ...

  9. phantomJs页面截图

    因为phantomjs使用了一个真正的渲染引擎WebKit,它能截取一个web页面的真实影像,这是因为phantomjs能够折射出WEB页面上的任何东西,包括html,css,svg和Canvas等. ...

  10. ASP.NET Core 系列[1]:ASP.NET Core 初识

    ASP.NET Core 是一个跨平台的高性能开源框架,是一个用于连接到互联网的基于云的现代应用程序. ASP.NET Core 用于构建如 Web 应用.物联网(IoT)应用和移动后端应用,这些应用 ...