VS2010+Qt4.8.6入门程序

        此博客目的旨在让刚接触Qt开发的小伙伴理解Qt开发的基本操作,了解基本的UI设计过程,了解信号槽机制。本博客不涉及具体的原理讲解,有关具体的原理应自行探索。

        在开始之前,要首先安装好VS2010及Qt4.8.6,可以按照以下教程进行安装:

VS2010下载:Visual Studio2010简体中文版/旗舰版安装教程-CSDN博客

Qt4及VS2010配置:【Qt】超详细!Qt4.8.6和VS2010的配置及使用_vs2010对应qt-CSDN博客

        完成VS2010及Qt的配置以后,正式进入入门教程↓↓↓↓↓↓↓↓↓

1. 新建项目-需要实际操作

        文件—新建—项目,选择Qt4 Projects,选择Qt Application,更改项目名称为introduction,完成项目创建。

2. 目录结构-此部分不需要实际操作

        首先看一下目录结构,可以先主要关注:

        From Files:ui文件。

        Generated Files:.ui自动生成的文件,introduction.ui会自动生成ui_introduction.h文件。

        Header Files: 放置头文件,以.h结尾。声明项目中使用的类、函数、变量、常量等。

        Source Files: 实现项目中的逻辑功能。源文件中的代码通常会引用头文件,并实现其中声明的类和函数。

此次教程的主要流程

  • 在From Files中设计introduction.ui,设计好后在Generated Files中自动生成ui_introduction.h文件,运行项目,实现粘贴、删除功能。
  • 在From Files中设计pasteBroad.ui,设计好后在Generated Files中自动生成ui_pasteBroad.h文件。在Header Files中创建pasteBroad.h文件,在Source Files中创建pasteBroad.cpp文件,编写pasteBroad.h、pasteBroad.cpp、introduction.h、introduction.cpp文件,实现父窗口打开子窗口的功能。

3. UI设计-需要实际操作

        在From Files文件夹中,双击introduction.ui,进入Qt Designer(汉化版称 Qt设计师),执行以下设计:

        ①拖拽Vertical Layout垂直布局组件

        ②拖拽Text Edit 到 Vertical Layout当中

        ③依次拖拽三个Push Button到Vertical Layout当中

4.更改控件名称

        双击控件,更改控件名称:粘贴、删除、打开。

        注意:控件名称也可以通过属性编辑器进行修改,修改QAbstractButton中的text即可↓↓↓↓:

        注意:如果找不到对应的视图,点击 视图-属性编辑器 即可↓↓↓↓↓。

        注意(无需操作):应当留意每个控件对应的 objectName(可自行修改),可理解为控件ID:

控件objectName
粘贴pushButton
删除pushButton_2
打开pushButton_3

5.编辑信号/槽

        点击上方的编辑信号/槽,依次进行以下操作:

        ①点击 粘贴按钮 并按住,拖动至Text Edit中,再松开鼠标。操作成功后两个控件会进行关联。

        ②点击 粘贴按钮(对应pushButton)中的clicked();点击textEdit中的paste()。这个操作代表:当点击粘贴按钮时,textEdit中会执行粘贴操作。

        ③点击 删除按钮 并按住,拖动至Text Edit中,再松开鼠标。操作成功后两个控件会进行关联。

        ④点击 删除按钮(对应pushButton_2)中的clicked(); 点击textEdit中的clear()。这个操作代表:当点击删除按钮时,textEdit中会清空文本。

6.生成ui_introduction.h代码

        设计好introduction.ui后,保存(ctrl+s),关闭Qt Designer。在VS中右键点击项目,左键点击生成:这会将introduction.ui自动转换成ui_introduction.h的代码。

       目录Generated Files中的代码由目录Form Files中的.ui生成,不依靠开发人员手动编写(除特殊情况)。可以简单看一下ui_introduction.h中的代码,这部分代表控件的创建↓↓↓↓↓↓:

这部分代表控件之间的信号槽机制↓↓↓↓↓↓:

注意:值得关注的是,在ui_introduction中,会生成以下代码,即namespace Ui中的代码。个人理解:objectName是控件的唯一标识,而introductionClass是窗口introduction.ui的唯一标识:

        生成好了?那在输出栏中会有成功的标识↓↓↓↓↓如果你没有输出栏,那么在VS上方点击 视图-输出:

7.运行

        运行项目,点击绿色三角并等待:

        复制一段文本,进行演示:

  

————学够了可以撤退刷会抖音。接下来进行 打开窗口+手动编写信号槽 的教程——————

8.新建pasteBroad.ui

①双击From Files 中的introduction.ui,打开Qt Designer,点击 文件-新建-创建。

②此时新建了一个Dialog窗口,单击其中的控件,按回退键将其删除。

③在introduction窗口中按Ctrl+A全选,然后在Dialog窗口中按Ctrl+C进行复制。

④点击 编辑信号/槽,为按钮配置连接,此操作与5.编辑信号/槽中①②③④一致

⑤按Ctrl+s进行保存,命名为 pasteBroad.ui。

⑥虽然将pasteBroad.ui保存了,但是Form Files中并没有出现。没关系,我们直接将pasteBroad.ui复制到Form Files中,嘿嘿,现在有了

9.生成ui_pasteBroad.h

①右键introduction项目,点击生成。

②查看ui_pasteBroad.h中的namespace,对应Dialog。

将其理解为:Dialog是pasteBroad.ui的标识,至此两个.ui文件有以下标识:

UI标识
introduction.uiintroductionClass
pasteBroad.uiDialog

10.创建.h和.cpp

还记得开发的基本流程嘛?编写.ui-->生成ui_XXX.h-->创建Header File中的.h文件,创建Source中的.cpp文件-->编写.h和.cpp。

现在我们创建以下文件:

①在Header Files中创建pasteBroad.h文件。右键Header Files-添加-新建项-Visual C++-头文件,输入名称pasteBroad,创建成功。

②在Source Files中创建pasteBroad.cpp文件。右键Source Files--添加--新建项--Visual C++--C++文件,输入名称pasteBroad,创建成功。

③编写pasteBroad.h的代码。必要部分添加了注释,其他部分请读者自行查阅理解。

#ifndef PASTEBROAD_H
#define PASTEBROAD_H

#include <QDialog>
#include "ui_pasteBroad.h" // ui生成的文件

class pasteBroad : public QDialog
{
	Q_OBJECT

public:
	pasteBroad(QWidget *parent = 0, Qt::WFlags flags = 0);
	~pasteBroad();

private:
	Ui::Dialog *ui; // 与ui_pasteBroad.h中的class Dialog: public Ui_Dialog {};指明当前类对应的UI为Dialog
};

#endif // PASTEBROAD_H

④编写pasteBroad.cpp代码。

#include "pasteBroad.h" // .cpp中只导入Header Files中的文件

pasteBroad::pasteBroad(QWidget *parent, Qt::WFlags flags)
	: QDialog(parent, flags), ui(new Ui::Dialog) // 创建一个代表Dialog的ui
{
	ui->setupUi(this);
}

pasteBroad::~pasteBroad()
{
	delete ui;
}

⑤编写introduction.h代码:

#ifndef INTRODUCTION_H
#define INTRODUCTION_H

#include <QMainWindow>
#include "ui_introduction.h"  // 导入自己对应的文件
#include "pasteBroad.h"	// 这样可以获得

class introduction : public QMainWindow
{
	Q_OBJECT

public:
	introduction(QWidget *parent = 0, Qt::WFlags flags = 0);
	~introduction();

private:
	Ui::introductionClass *ui; // 创建一个代表introductionClass的ui

private slots:
	void onOpenButtonClicked(); // 声明槽函数
};

#endif // INTRODUCTION_H

⑥编写introduction.cpp代码:

#include "introduction.h"

introduction::introduction(QWidget *parent, Qt::WFlags flags)
	: QMainWindow(parent, flags), ui(new Ui::introductionClass) // 创建一个代表introductionClass的ui
{
	ui->setupUi(this); // this指的是当前对象实例
	connect(ui->pushButton_3, SIGNAL(clicked()), this, SLOT(onOpenButtonClicked())); // 槽函数,代表单击pushButton_3时,调用nOpenButtonClicked()。
}

introduction::~introduction()
{
	delete ui;
}
void introduction::onOpenButtonClicked() {
    pasteBroad *dialog = new pasteBroad(this); // 使用pasteBroad,因为我们头文件导入了introduction.h,而introduction.h中导入了pasteBroad.h。考虑:传入的this是什么?
    dialog->exec(); // 显示对话框
}

到此我们的代码已经编写完了。

注意:本博客旨在帮助读者理解各个文件之间的基本联系,具体的代码请稳扎稳打稳扎稳打稳扎稳打地进行学习。

提供了以下图,以便读者理解:

11.运行及演示

完完完完完完

  • 11
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VS2015是指Visual Studio 2015,它是由微软公司推出的一款集成开发环境(IDE),主要用于开发各种类型的应用程序VS2015具有强大的功能,包括代码编辑器、调试器、图形化界面设计工具和版本控制等,能够提高开发效率和代码质量。 Qt4.8.6是指Qt开发框架的一个版本,Qt是一套跨平台的C++应用程序开发框架,能够快速地创建高质量的图形用户界面和功能丰富的应用程序Qt4.8.6Qt框架的一个比较早期的版本,虽然现在已经有了更高版本的Qt,但它仍然被一些开发者广泛使用。 使用VS2015结合Qt4.8.6进行开发,可以将两者的优势结合起来,实现更多功能和更好的开发体验。VS2015提供了强大的开发工具和调试功能,能够帮助开发者更轻松地编写和调试Qt应用程序的代码。而Qt4.8.6则提供了丰富的自定义控件和图形界面设计工具,能够快速构建各种不同风格的界面。 在使用VS2015和Qt4.8.6进行开发时,可以使用VS2015的开发环境来编写和调试Qt应用程序的代码,同时利用Qt提供的工具和组件来创建界面和添加功能。这样可以提高开发效率,减少不必要的代码重复和错误。 总之,VS2015与Qt4.8.6结合使用,可以提供更好的开发体验和更丰富的功能选择,帮助开发者快速构建高质量的应用程序。当然,如果有更高版本的Qt可用,也可以考虑升级到最新版本,以获取更多的优化和新特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值