使用qt开发应用程序时,选择vs还是qtcreator?选择string还是qstring?

一、选择vs还是qtcreator

参考链接:http://bbs.csdn.net/topics/390466219

    一直有这个疑虑,使用qt开发桌面应用程序时,可以选择VS+qt,也可以选择qt creator。公司很多人倾向于使用VS+qt,我个人因为之前没有用过vs,所以倾向于qt creator,查了一下这个问题,大家的意见如下:

1、由MFC转Qt的还是VS的环境用起来顺手,但是缺点就是槽的问题。

2、要是跨平台的话,qt creator好一点,在linux和windows下IDE界面样式都相同。VS只能在windows下使用。VS的默认文件编码方式是GBK,QtCreator是UTF-8,VS在文件的最后位置会插入一个不可见字符,QtCreaor不会。

3、VS调试方便,项目管理方便。项目大了以后,qt creator就会很吃力。

    还是不知道该用哪个,建议跟公司保持一致。

2022年更新:    

    工作几年之后我更倾向于vs,因为vs调试功能非常强大。我现在是能用vs就用vs,除非是linux下开发,没办法了我会选择qtcreator。

二、选择string还是qstring

    参考链接:https://www.zhihu.com/question/22572053

    使用标准库函数能提高代码独立性,但是使用常用库函数更"接地气",例如标准库中的string和Qt中的QString(或者VC里的CString),他们都有类似的公用方法,但是我们在什么情况下进行相应的选择呢?就拿Qt来说吧,使用Qt库的时候,我们可以使用QString,读取文件、传入某些函数参数时候会更方便;但是也可以使用标准库的std::string,能让代码更具有独立性,以后移植到非Qt框架会更容易一些。

    假设题主的意思是:在写GUI程序的时候,如果GUI库和STL都提供了某个功能(比如容器字符串),应该如何在两个库之间选择? 我的做法是分层,比如分为frontend+core。开发core的时候只用STL,保证平台可移植性,并且编译为动态库。开发GUI frontend的时候与UI库紧密结合,尽量不用STL,和core交接的地方一律进行数据类型转换,不要顾虑转换开销。 BTW 这样的话一般在开发GUI frontend之前会先写CLI frontend,试验core的功能。

    如果你写的东西别人会用到,你不确定用到的人有怎么样的环境,用char*。如果你能确定使用者一定在C++环境下,用std::string。如果是自己撸个小工具什么的,不涉及到代码复用,那就QString。如果是大型工具,建议GUI和逻辑分离,不建议使用QString这种GUI库中的逻辑代码,char*,std::string都是更好的选择,boost可以做编码、易用性上的弥补。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值