爱板网论坛

查看: 153|回复: 1

[经验] Qt 设计器(Qt Designer)内容总结

[复制链接]

59

主题

0

好友

508

积分

举人

Rank: 4

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 41 天

    连续签到: 3 天

    [LV.5]常住居民I

    发表于 2017-8-28 16:43:49 |显示全部楼层
    1、概述
    Qt 允许程序员不通过任何设计工具,以纯粹的 C++代码来设计一个程序。但是更多的
    程序员更加习惯于在一个可视化的环境中来设计程序,尤其是在界面设计的时候。这是因为
    这种设计方式更加符合人类思考的习惯,也比书写代码要快速的多。
    Qt 也提供了这样一个可视化的界面设计工具:Qt 设计器(Qt Designer)。其开始界面
    如上图所示。Qt 设计器可以用来开发一个应用程序全部或者部分的界面组件。以 Qt 设计器
    生成的界面组件最终被变成 C++代码,因此 Qt 设计器可以被用在一个传统的工具链中,并
    且它是编译器无关的。
    在不同的平台上启动 Qt Designer 的方式有一定差别。在 Windows 环境下你可以在“开
    ->程序->Qt”这个组件中找到 Qt Designer 的图标并点击;在 Unix 环境下,在命令行模式
    下输入命令:designer”;在 Mac Os 下,在 X    Finder 下双击 Designer 图标。
    默认情况下,Qt Designer 的用户界面是由几个顶级的窗口共同组成的。如果你更习惯
    于一个 MDI-style 的界面(由一个顶级窗口和几个子窗口组成的界面),可以在菜单 Edit->User
    Interface Mode 中选择 Docked Window 来切换界面。上图显示的就是 MDI-style 的界面风格。
    2、开始学习
    在这个小节中,我们将使用 Qt Designer 来生成一个对话框: Go-to-cell。对话框如下图
    所示。
    不管我们是使用 Qt Designer 还是编码来实现一个对话框,都包括以下相同的步骤:
    1)、创建并初始化子窗口部件。
    2)、将子窗口部件放置到布局当中。
    3)、对 Tab 的顺序进行设置。
    4)、放置信号和槽的连接。
    5)、完成对话框的通用槽的功能。
    现在开始工作。首先在 Qt Designer 的菜单中选择“File->New Form”。程序将弹出一
    个窗口如下:
    可以看到在窗口左上方有一个templates\forms”的菜单,下面有四个可供选择的模板。
    第一个和第二个都是对话框,区别在于对话框中按钮的位置不同。第三个是主窗口,第四
    个是窗口部件。本例中我们需要选择第四个选项(Widget)。 现在你应该可以看到 Qt Designer
    为你生成了一个窗口,标题栏是Untitled”(也许你觉得第一个模板更加适合我们的例子,
    不过,在这里,我们将手动添加OK”和“Cancel”这两个按钮)。
    我们按照上面讲过的顺序来设计这个窗口。首先需要生成子窗口部件并将它们放置
    在工作台上。在 Qt Designer 工作界面的左侧,我们可以看到很多程序设计经常用到的窗口
    部件。如果你需要它们中的那一个,用鼠标把它拖到工作台上就可以了。我们在菜单Display
    Widgets”中选择一个“Label”,在菜单“Input Widgets”中选择一个“Line Edit”,在菜单
    Spacers”中选择一个“Horizontal Spacer”(这个空白组件在最终形成的窗口中是不可见的,
    Qt Designer 中,空白组件的样子就像是一个蓝色的弹簧),在菜单“Buttons”中选择两

    回复

    使用道具 举报

    8

    主题

    0

    好友

    2328

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 474 天

    连续签到: 11 天

    [LV.9]以坛为家II

    发表于 2017-8-29 08:25:39 |显示全部楼层
    QT用的越来越少了。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /2 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-11-22 15:27 , Processed in 0.245266 second(s), 9 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部