qt入门



qt入门

1.首先我们先创建一个qt的空项目

1.这会生成两个文件

xx.pro

xx.pro.user

xx.pro文件是qt的工程文件,有点类似于vc的prj文件,或者sln文件。xx.pro.user是这个当前环境下的工程文件。(移植的时候这个文件没啥用)

以下是标准的hello world入门程序

#include <QApplication>
#include <QWidget>int main(int argc,char* argv[])
{QApplication app(argc,argv);QWidget w;w.setWindowTitle("hello world");w.show();return app.exec();
}

然后在xx.pro那里加上QT += widgets gui 

代码解释

1.QApplication是应用程序抽象类,而QWidget是窗口抽象类。

2.app.exec();中有一个消息循环。


下一步:向这个窗口中导入一个按钮

先引入头文件:

#include<QPushButton>

然后在w.show();前加入代码

QPushButton button;
button.setText("button");
button.setParent(&w);

那个w是button的父对象,而不是父类

按钮和其它的控件都是窗口,继承至QWidget。

然后窗口对象的父子关系,影响着显示。


下一步:给按钮添加响应

QObject::connect(&button,SIGNAL(clicked(bool)),&w,SLOT(close()));

其中第一个参数(这里是button),必须是QObject类,然后第二个参数和第四个参数是char*,通过SIGNAL(信号),SLOT(槽)这两个宏定义把clicked,以及close()装换成char*.


全部代码

/* 应用程序抽象类 */
#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.show();/* QT对C++的拓展 */// std::bind std::functionQObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close()));w.setWindowTitle("Hello World");/*在exec中有一个消息循环*/return app.exec();
}

结果显示

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt输入框

&#xfeff;&#xfeff;qt里面的输入框是QLineEdit这个类来实现的。 下面是代码 /* 应用程序抽象类 */ #include <QApplication>/*窗口类*/ #include <QWidget> #include <QCompleter> #include <QLineEdit>int main(int argc, char* argv[]) {QAp…

qt坐标系统与布局的简单入门

&#xfeff;&#xfeff;qt坐标系统 qt坐标系统比较简单 button.setGeometry(20,20,100,100); 上面的代码把按钮显示为父窗口的20,20处宽度为100&#xff0c;高度为100 接下去是布局 qt里面布局需要加入<QLayout.h>这个头文件。 qt里面垂直布局 qt里面的垂直布局…

qt控件基本应用

Qt里面有很多控件&#xff0c;让我们来看一些常用控件。 首先是对pro文件的配置 HEADERS \ MyWidget.h SOURCES \ MyWidget.cpp QTwidgets gui CONFIG c11 因为要用到lambda所以要加一个CONFIGc11 下面是MyWidget.h #ifndef MYWIDGET_H #define MYWIDGET_H#include &…

数据结构之算法特性及分类

数据结构之算法特性及分类 算法的特性 1.通用性。2.有效性。3.确定性4.有穷性。基本算法分类 1.穷举法顺序查找K值2.回溯,搜索八皇后&#xff0c;树和图遍历3.递归分治二分查找K值&#xff0c;快速排序&#xff0c;归并排序。4.贪心法Huffman编码树&#xff0c;最短路Dijkstra…

Python数模笔记-模拟退火算法(4)旅行商问题

1、旅行商问题(Travelling salesman problem, TSP) 旅行商问题是经典的组合优化问题&#xff0c;要求找到遍历所有城市且每个城市只访问一次的最短旅行路线&#xff0c;即对给定的正权完全图求其总权重最小的Hamilton回路&#xff1a;设有 n个城市和距离矩阵 D[dij]&#xff0…

神经网络概述

神经网络概述 以监督学习为例&#xff0c;假设我们有训练样本集 &#xff0c;那么神经网络算法能够提供一种复杂且非线性的假设模型 &#xff0c;它具有参数 &#xff0c;可以以此参数来拟合我们的数据。 为了描述神经网络&#xff0c;我们先从最简单的神经网络讲起&#x…

Python数模笔记-StatsModels 统计回归(2)线性回归

1、背景知识 1.1 插值、拟合、回归和预测 插值、拟合、回归和预测&#xff0c;都是数学建模中经常提到的概念&#xff0c;而且经常会被混为一谈。 插值&#xff0c;是在离散数据的基础上补插连续函数&#xff0c;使得这条连续曲线通过全部给定的离散数据点。 插值是离散函数…

Python数模笔记-StatsModels 统计回归(3)模型数据的准备

1、读取数据文件 回归分析问题所用的数据都是保存在数据文件中的&#xff0c;首先就要从数据文件读取数据。 数据文件的格式很多&#xff0c;最常用的是 .csv&#xff0c;.xls 和 .txt 文件&#xff0c;以及 sql 数据库文件的读取 。 欢迎关注 Youcans 原创系列&#xff0c;每…

神经网络反向传导算法

假设我们有一个固定样本集 &#xff0c;它包含 个样例。我们可以用批量梯度下降法来求解神经网络。具体来讲&#xff0c;对于单个样例 &#xff0c;其代价函数为&#xff1a; 这是一个&#xff08;二分之一的&#xff09;方差代价函数。给定一个包含 个样例的数据集&#xff…

Python数模笔记-StatsModels 统计回归(4)可视化

1、如何认识可视化&#xff1f; 图形总是比数据更加醒目、直观。解决统计回归问题&#xff0c;无论在分析问题的过程中&#xff0c;还是在结果的呈现和发表时&#xff0c;都需要可视化工具的帮助和支持。  欢迎关注 Youcans 原创系列&#xff0c;每周更新数模笔记 Python数…

梯度检验与高级优化

众所周知&#xff0c;反向传播算法很难调试得到正确结果&#xff0c;尤其是当实现程序存在很多难于发现的bug时。举例来说&#xff0c;索引的缺位错误&#xff08;off-by-one error&#xff09;会导致只有部分层的权重得到训练&#xff0c;再比如忘记计算偏置项。这些错误会使你…

Python数模笔记-Sklearn (1)介绍

1、SKlearn 是什么 Sklearn&#xff08;全称 SciKit-Learn&#xff09;&#xff0c;是基于 Python 语言的机器学习工具包。 Sklearn 主要用Python编写&#xff0c;建立在 Numpy、Scipy、Pandas 和 Matplotlib 的基础上&#xff0c;也用 Cython编写了一些核心算法来提高性能。…

自编码算法与稀疏性

目前为止&#xff0c;我们已经讨论了神经网络在有监督学习中的应用。在有监督学习中&#xff0c;训练样本是有类别标签的。现在假设我们只有一个没有带类别标签的训练样本集合 &#xff0c;其中 。自编码神经网络是一种无监督学习算法&#xff0c;它使用了反向传播算法&#…

Python数模笔记-Sklearn(2)聚类分析

1、分类的分类 分类的分类&#xff1f;没错&#xff0c;分类也有不同的种类&#xff0c;而且在数学建模、机器学习领域常常被混淆。 首先我们谈谈有监督学习&#xff08;Supervised learning&#xff09;和无监督学习&#xff08;Unsupervised learning&#xff09;&#xff…

可视化自编码器训练结果

训练完&#xff08;稀疏&#xff09;自编码器&#xff0c;我们还想把这自编码器学到的函数可视化出来&#xff0c;好弄明白它到底学到了什么。我们以在1010图像&#xff08;即n100&#xff09;上训练自编码器为例。在该自编码器中&#xff0c;每个隐藏单元i对如下关于输入的函数…

Python数模笔记-Sklearn(3)主成分分析

主成分分析&#xff08;Principal Components Analysis&#xff0c;PCA&#xff09;是一种数据降维技术&#xff0c;通过正交变换将一组相关性高的变量转换为较少的彼此独立、互不相关的变量&#xff0c;从而减少数据的维数。 1、数据降维 1.1 为什么要进行数据降维&#xff1…

稀疏自编码器一览表

下面是我们在推导sparse autoencoder时使用的符号一览表&#xff1a; 符号含义训练样本的输入特征&#xff0c;.输出值/目标值. 这里 可以是向量. 在autoencoder中&#xff0c;.第 个训练样本输入为 时的假设输出&#xff0c;其中包含参数 . 该输出应当与目标值 具有相同的…

Python数模笔记-Sklearn(4)线性回归

1、什么是线性回归&#xff1f; 回归分析&#xff08;Regression analysis)是一种统计分析方法&#xff0c;研究自变量和因变量之间的定量关系。回归分析不仅包括建立数学模型并估计模型参数&#xff0c;检验数学模型的可信度&#xff0c;也包括利用建立的模型和估计的模型参数…

Python数模笔记-Sklearn(5)支持向量机

支持向量机&#xff08;Support vector machine, SVM&#xff09;是一种二分类模型&#xff0c;是按有监督学习方式对数据进行二元分类的广义线性分类器。 支持向量机经常应用于模式识别问题&#xff0c;如人像识别、文本分类、手写识别、生物信息识别等领域。 1、支持向量机&…