vs+qt开发笔记

本文概述了一个项目开发流程,涉及数据模型创建、动态库服务扩展、UI界面设计、编译问题解决方案、资源文件管理和OCC绘制功能。重点讲解了UI界面的布局、文件路径设置、资源导入以及QtQFileDialog的实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、业务逻辑

1、创建结构体,存储数据;在datamodel_global.h中创建。

2、在datamodel文件夹中创建一个.h文件;

3、在SerVices文件夹中创建一个新项目(动态库项目);

4、在DataModel.h中给DataModel文件夹中创建的.h文件设置一个出口;

5、在SerVices文件夹中创建的动态库项目中增加“增删改查”的功能;

6、设置属性,包含目录、库目录、链接器(输入);

7、重新编译一下DataModel项目,然后再编译业务逻辑项目。

二、UI界面创建与布局

1、在UserInterface文件夹中,创建一个UI动态库项目;

2、在动态库项目中添加带有UI界面的“GUI”文件;

3、在UI设计师里,进行简单的控件布局,完成基本界面;

4、对UI界面进行初始化代码编写;

三、编译错误问题

1、无法打开包括文件

主要原因:没有设置文件的路径,编译器无法找到该文件。

解决方法:右击动态库项目,选择属性,VC++目录,包含目录和库目录设置需包含的文件了路径;并在链接器->输入->附加依赖项中,添加待引进的.lib库。

四、添加资源文件记录

点击资源文件夹,找到.qrc文件,并双击。得到结果如下图:

 选择“add”添加图像,随后获取路径,在Resource URL中获取图片加载的路径,然后编写代码。

五、节点选取功能的实现

1、该部分功能与业务逻辑没有关系,可不用实现业务逻辑;

2、该部分分为两种,一种是shapepoint,一种是meshpoint(网格节点),所以包含两个选点的函数。

3、具体的步骤操作如下:

(1)在springElementDlg.cpp中添加下面两个函数:

2、将上面两个函数同步到SpringElementUI.cpp和.h文件中,如下:

3、在 SpringElementDlg.cpp的Init()函数内,发射一个选择点的信号给主窗体,如下:

4、在view.cxx文件中,找到getShape()函数,并在相应位置添加如下代码:(注意包含头文件)

六、OCC绘制圆形功能实现

1、需先实现业务逻辑代码,才能进行该部分内容设计。

2、在Document.cpp文件中创建ShowCreateArc(int)、ShowCreateArc(STCreateArc var)两个函数。其中,第一个函数可直接复制粘贴过来,修改好类名即可;第二个函数则自定义,按需求写入需渲染绘制的图形的代码,最后用Display()函数在视图区展示。具体如下:

void Document::ShowCreateArc(STCreateArc & var)
{
	INT_TRIHEDRON_MAP::iterator iter = m_trihedronMap.find(var.id);
	if (iter != m_trihedronMap.end())
	{
		return;
	}

	GC_MakeCircle C(var.pt1, var.pt2, var.pt3);  //根据三点创建一个圆
	Handle(AIS_Circle) anAISCirc = new AIS_Circle(C.Value());
	myContext->Display(anAISCirc, Standard_True);

}

3、上述代码需包含头文件,具体如下:

#include <GC_MakeCircle.hxx>
#include <AIS_Circle.hxx>

七、release版本下断点调试设置

1、右击新添加的项目,点击属性,如下:

2、第二步,如下:

3、第三步,如下:

4、完成上述操作后,设置断点,就可以起作用了。 

八,Qt QFileDialog的简单使用;

QString sFileName = QFileDialog::getOpenFileName(this,"选择文件","/","C++ files(*.cpp);;C files(*.c);;Head files(*.h)");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值