设计师或代码中的Qt GUI?

Nic*_*ask 3 qt qt-creator

在Qt中设计GUI时,我在使用Qt Creator中的设计器或在源代码中执行所有操作时犹豫不决.我正在使用Qt小部件,而不是QML.

如果我使用设计器,我可以使用qt标准小部件轻松创建GUI.但是,只要我需要子类化小部件来扩展其功能,我就必须构建一个Designer插件来支持我的新小部件.那是对的吗?还是有另一种方式吗?

ypn*_*nos 6

您可以在Designer中构建包括自定义小部件的所有GUI,也可以在Designer中构建自定义小部件.

Designer不需要解释您的自定义小部件.只需使用促销功能.通过提升,您可以从Designer中的一个普通小部件开始,然后告诉它的"真实"类(您的自定义类)和它被删除的头文件.唯一的缺点是在Designer中,它看起来像一个空的小部件.

根据我的经验,使用Designer作为GUI比自己编写源代码要好得多.您可以在之后轻松更改所有属性等,即使您依赖自定义小部件也很有用.源代码对于GUI对象来说不是一个好的声明性语言,具有所有属性等.另外你不能玩,你需要一直编译只是为了告诉"这个文本标签是否更好用粗体字?".

有时我会手动编辑Designer创建的XML文件.例如,如果我想将一个小部件放在对象树中的其他位置.如果您没有弄乱XML,Designer仍会读取它而不会破坏您的更改.我在源代码中编写GUI的唯一原因是,当您有重复元素或基于数据输入的动态更改时,例如生成元素的for() - 循环.在我的项目中,我有一些选择框,在源代码中填充了选项.

顺便说一句:如果您更喜欢在代码中编写GUI而不是使用Designer,那么您可能不是制作GUI的合适人选.大多数程序员并不了解虽然他们在技术上能够设计GUI,但他们并不总是能够胜任.

http://hallofshame.gp.co.at/index.php?file=shame.htm&mode=original