怎么做到UI界面与程序功能分离
新人求教。各位朋友,我想用qt做一个应用程序配置的向导,遇到一个困惑,怎么把界面做的漂亮,要让代码易于维护,
起初,我想到的是把界面与功能分离开来,但是在qt里面不知道怎么做。这几天,学习了一下qml,看了一下qt5.2自带的
demo和文档,知道了怎么把c++类嵌入到qml中。但是我发现,在qml中还是有程序功能的代码,比如一些类似信号,槽的机制。
请问大家,有没有办法只在qml里面做显示界面,把功能处理都放在qt c++类里面呢?这样的话,做界面和写功能就能分开考虑了。
还有一个问题,如果程序本身的功能和逻辑比较复杂,qml是不是不适合了?因为界面和功能毕竟还是要交互的嘛。
总之一句话,功能与业务分离,用qt可以使用哪些技术做到,又能做到什么程度?欢迎大家给我提供一些思路。
谢谢!
可能是你对qml的模式不熟悉,我自己一直都是像你说的这样写程序框架。
简单来说,qml模式更像互联网的CS模式,qml就作为C端,本身带有逻辑代码是很正常不过的,而C++则可以作为服务提供端,专门做数据处理。
多看看精华区的文章,总有对你有用的 Joey_Chan 发表于 2014-5-21 17:34 static/image/common/back.gif
可能是你对qml的模式不熟悉,我自己一直都是像你说的这样写程序框架。
简单来说,qml模式更像互联网的CS模 ...
那你能提供给我一个例子,程序从C++端运行,而不是从main.cpp就把控制权交给main.qml那种吗,比如说,我先在main.cpp里面做一些准备工作,然后调用qml显示界面,最后又返回到c++端做一些后续处理。也就是说,程序的逻辑整体由C++端发起,控制,结束,界面装载用的是qm。伪代码大概是这样:
main.cpp
int main()
{
c++代码;
createXXX();//调用qml装载某部分界面
createYYY();//调用另外的qml装载其他界面
C++代码;
} wwj_ff 发表于 2014-5-23 13:53 static/image/common/back.gif
那你能提供给我一个例子,程序从C++端运行,而不是从main.cpp就把控制权交给main.qml那种吗,比如说,我 ...
qt自带的例子很多这种模式的。。比如qml可以在widget里面加载,widget你应该懂吧,我还没听说过会qml反而不会widget的
另外精华区有很多教程是关于qml的,多看看有帮助 Joey_Chan 发表于 2014-5-23 19:59 static/image/common/back.gif
qt自带的例子很多这种模式的。。比如qml可以在widget里面加载,widget你应该懂吧,我还没听说过会qml反而 ...
我还是觉得qml与c++交互不太方便,考虑再三,换了一种风格来分离功能、样式和布局,那就是用qt设计师来完成布局,用qt样式表来设置样式,用c++完成功能 wwj_ff 发表于 2014-5-28 10:15 static/image/common/back.gif
我还是觉得qml与c++交互不太方便,考虑再三,换了一种风格来分离功能、样式和布局,那就是用qt设计师来完 ...
qml对 高耦合低内聚 的软件原则上是很有帮助的,慢慢你就知道了 wwj_ff 发表于 2014-5-28 10:15 static/image/common/back.gif
我还是觉得qml与c++交互不太方便,考虑再三,换了一种风格来分离功能、样式和布局,那就是用qt设计师来完 ...
QT设计师这个东西怎么说呢,感觉还是不要用为好! qss样式表级很好啊!你可以试一试
页:
[1]