我刚学习C++ Builder,也想了解一下QT是怎样的。
1、界面方面,CB直接拖控件、布局,只要鼠标操作。从基本的控件、各种对话框、数据库控件、系统控件如Timer等,基本都可以事先拖好,不需要写代码new出来。
QT是怎样的?
2、属性设置,CB的Form及每一个控件,都有详细的属性可以设置,从【对象检视器】窗口中可以直接看到,属性包括位置、长宽、标题、文本(比如Edit控件)、颜色、字体、Enabled(是否有效)、Visible(是否可见),滚动条类型(无、水平、垂直或both,比如Memo控件),关联的PopupMenu(可以选择关联Form里的一个PopupMenu1控件,这个PopupMenu1又可以单独设计),等等等等,包括Name属性,比如一个Button把Name改为btnOk(OK按钮),以后在代码中就用btnOk。属性不需要动态改变的,就不需要写代码。
QT怎样的呢?
3、事件处理,CB的Form及每一个控件,都对应着各种事件,从【对象检视器】窗口中就可以直接看到,比如OnClick、OnKeyDown、OnKeyPress、OnDragDrop、OnChange、OnCreate、OnShow、OnPaint、OnCloseQuery、OnClose、OnDestroy等等,比如点击一个Button,可以把要执行的任何代码写在这个Button的OnClick事件处理方法中(比如是void __fastcall TForm1::Button1Click(TObject *Sender)中),这样点击Button1的时候,就会自动执行Button1Click()方法。CB还可以不同的控件共享相同的方法,比如点击某个菜单mnuTest,相当于点击Button1的功能,这样可以在mnuTest菜单的OnClick事件方法中,选择下拉列表里的Button1Click方法,就实现了共享,不需要再写代码。
QT是如何的?
4、代码分离性方面,CB只需要编写业务逻辑代码,类似于DOS下文本界面编程,只要专注于实现业务逻辑功能就可以了,代码非常简洁。只有在数据的输入和表现(输出)时,才和界面控件打交道。比如一个例子:
http://blog.163.com/tab_98/blog/static/1192409720158673337998/
QT在这方面是如何的?
5、其它方面,QT的表现?比如文档方面,具体到每一个控件怎么用,有哪些属性和方法,又从父类继承了哪些属性和方法,是不是都有资料和代码?学习书籍方面表现又如何?有没有各个主题(比如数据库、图形图像、网络、小游戏等方面)的一些项目源代码可以参考?QT的静态链接方面现在是否可以不依赖QtGui.dll和QtCore.dll等DLL?