前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tiled源码分析(一): GUI编辑和布局

Tiled源码分析(一): GUI编辑和布局

作者头像
逍遥剑客
发布2018-05-21 12:23:33
1.2K0
发布2018-05-21 12:23:33
举报

MFC, WinForms, WPF, Qt算是都折腾过, 就差WxWigets了

比较下来, 做游戏(引擎)工具开发的话, 最重要的是易上手, 好维护, 开发快, 综合下来还是滚回C++阵营, 选择了Qt

不用不知道, 其实传统的Qt Widgets用起来跟WinForms非常像, 甚至Qt Quick的特性跟WPF有的一拼

想当初强烈地想用C#, 很大部分原因是WinForms那个可视化GUI编辑器比较吸引人

不过QtDesigner虽说还没有生成事件代码的功能, 但是对于C++来说, 已经很不错了, 再说还有signal-slot的支持

控件布局

回归正题, Tiled中的主要对话框都是.ui文件, 用QtDesigner就可以打开

仔细观察发现, 工具栏上的按钮只有固定几个, 好多窗口也没有在.ui里找到

虽说很多人会鄙视可视化的UI编辑器, 但是不得不说, 有些地方的确很方便, 但所有界面都依赖这个就份了

因为从架构设计的角度来讲, 越抽象, 其实就离UI编辑器越远

我想这也是Tiled的一些功能模块窗口没有使用设计器的原因

.ui文件与C++类之间的关系就不说了, 之前都用过

功能面板

通过Tiled截图来看, 其它功能窗口布局都很简单, 而且都是Dock Window

所以在代码中可以看到它们都从QDockWidget派生的

状态栏

状态栏其实就是一个窗器, 可以创建一些控件扔进去

菜单和工具栏命令

这里也是基于Qt比较不错的的QAction, 比MFC的ID方式强太多了. 工具栏那些没在Designer中出现的按钮是跟操作/插件功能相关的, 后续再分析

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年01月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 控件布局
  • 功能面板
  • 状态栏
  • 菜单和工具栏命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档