VS+Qt 创建动态库及调用

1、打开VS,新建一个项目,具体如下:

 下面内容一路默认,

点击finish,完成主入口的创建。

2、编辑主入口的.ui文件,得到以下效果:

3、创建Qt动态库,具体如下:

 右击解决方案,选择“添加”->“新建项目”->“Qt class library”。

新建项目后,生成了以上三个文件。 

4、给动态库项目添加ui界面,具体如下:

 

 5、在文件中添加代码。

(1)在test2UI.h文件中,代码如下:设置单例

class TEST2UI_EXPORT test2UI
{
//设置单例
public:
	static test2UI& Instance() {
		static test2UI _instance;
		return _instance;
	}

protected:
	test2UI();
};

(2)create_test2Dlg.cpp文件中,添加函数,并在对应的头文件内添加声明。

void create_test2Dlg::Show()
{
	Init();//初始化
	showNormal();//正常显示
}

void create_test2Dlg::Init()
{
	//设置窗体框架
	setWindowFlags(Qt::Window | Qt::FramelessWindowHint);

	//控件初始化

	//信号与槽的连接
}

(3)在test2UI.cpp中添加函数。在相关的头文件中写好声明。

create_test2Dlg * g_pRigidCellDlg = NULL;  //创建对象指针
test2UI::test2UI()
{
}

void test2UI::ShowCreate_test2Dlg()
{
	g_pRigidCellDlg->Show();
}

(4)在test2.cpp中添加代码信号与槽的连接,并设置为公共槽,具体如下:

test2::test2(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	connect(ui.DoBtn, SIGNAL(clicked()), this, SLOT(OnClickDoBtn()));
}
void test2::OnClickDoBtn()
{
	test2UI::Instance().ShowCreate_test2Dlg();
}

6、在主入口(test2)处,右击选择属性,在VC++目录-库目录中添加lib路径。

7、如果上述流程进行后,还有“无法解析外部符号”的问题。解决方法如下:

右击主项目,选择属性->链接器->输入->附加依赖项,然后添加“Test2UI.lib”文件,然后重新编译即可。具体如下图:

8、链接动态库时,应先检查动态库输出位置,然后再设计“库目录”的文件路径。检查输出位置,右击动态库项目,选择属性->链接器->常规->输出文件。如果是Release,则对应VC++目录中的库目录应保持路径为Release。

9、右键主入口项目,选择生成依赖项,选择项目依赖项,将待引入lib库进行勾选,如下:

  • 2
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值