LIB库问题,程序开发中的一些心得

个人而言,我并不反对库调用(不然程序没法写了),但是基于一些平台而去调用另外一个平台的东西就更刺激了,不妨试试

Qt基本已经形成一个生态系统了,至少在界面开发这块(PC、Android)很难在短时间之内被取代(可能性几乎为0),所以放弃幻想吧!

Qt开发包,包含了开发Qt程序的几乎涵盖所有功能的基本依赖(不排除还有新的成员加入),通常随着IDE一起安装

https://mirrors.ustc.edu.cn/qtproject/official_releases/qt/5.13/5.13.2/

IDE不等价于开发环境(整个),没有Visual Studio一样写代码(一般安装VS时给你把GCC也装了,实际上也可以单独下)

gcc -o main main.cpp

想要自己写个IDE可以学一下编译原理,学完自己写个具备基本功能的IDE绰绰有余,就是有点难学(我老猫哥已经放弃了U•ェ•*U)

言归正传,如果想在VS里面写Qt,有两种方式,一种,直接装扩展(Plugin,但是基于已经安装Qt开发包情况下),Qt Vs-Tools

https://marketplace.visualstudio.com/items?itemName=TheQtCompany.QtVisualStudioTools

这样实际上可以像Qt Creator一样,具备开发Qt的纯正血统(MSVC和MinGw的PK),各有好处,不过要知道的是

Visual Studio的宇宙第一IDE可不是盖的U•ェ•*U,嗯,不过写Qt就是编译很慢,运行更慢,内存几乎占满(8-G)

相比之下,第二种,直接引入Qt开发库的方式较为稳妥,因为运行快速,但是!这货居然不支持.ui文件编辑,纯手工写界面!

如果有兴趣可以试试,当然写代码可以让你很刺激,布局也需要提前规划,惹不起,我还是喜欢界面式拖拽+代码式编辑的半自动化、全智能式

这种方式(指第二种)还有比较让人头疼的问题,一旦出错,很难修正,这很麻烦,而且Debug和Release模式,更不同,麻烦,不推荐

基于Tools的VS下Qt开发模式支持第三方库引入(这句基本等于没说,但是界面基本稳了),例如配合Open-CV进行人脸识别的PC或者APP设计

我个人是干一行爱一行,喜欢血统纯正,开发Qt肯定是Qt-Creator、开发C++就是VS、开发Python就是Python-Charm、偶尔尝试额外IDE但绝不喜新厌旧(除非魅力特大,打不过就加入😀)

void InitGuiOperation()
{
	//opera
	w = new QMainWindow;
	w->setWindowTitle("ģʽÉèÖÃ");

	//add a icon
	//error infor

	//QPixmap: Must construct a QGuiApplication before a QPixmap


	w->setWindowIcon(QIcon(""));

	w->setFixedSize(300,200);

	//set layout
	QGridLayout* GridOut = new QGridLayout;

	//CHECKBOX
	QCheckBox* DANYIWENBEN = new QCheckBox("µ¥Ò»Îı¾");
	QCheckBox* WENBENXULIE = new QCheckBox("Îı¾ÐòÁÐ");
	QCheckBox* TUPIANXULIE = new QCheckBox("ͼƬÐòÁÐ");

	//edit control
	QTextEdit* TIAOSHIXINXI = new QTextEdit;

	//group box
	QGroupBox* BOX001 = new QGroupBox;

	BOX001->setTitle("MODE");
	


	//add weight
	GridOut->addWidget(DANYIWENBEN,0,4);
	GridOut->addWidget(WENBENXULIE,0,8);
	GridOut->addWidget(TUPIANXULIE,0, 12);
	

	//try add
	BOX001->setLayout(GridOut);



	QGridLayout* GridTotal = new QGridLayout;
	GridTotal->addWidget(BOX001);
	GridTotal->addWidget(TIAOSHIXINXI);


	//total
	QWidget* central = new QWidget;
	central->setLayout(GridTotal);

	w->setCentralWidget(central);
}

偶尔体验一下新技术,实际上调代码,不断尝试呗,跟着逻辑走,那有问题打哪,旗帜要鲜明,干就完事了,奥力给!!!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注


皖ICP备2021003932号
召唤伊斯特瓦尔