Qt 设计师手册
Qt设计师(Qt Designer)是使用Qt部件(Widgets)设计和使用图形用户界面(GUI)的工具。它允许我们以所见即所得的方式构建和定制自己的窗口(Windows)或对话框(Dialogs)并提供了不同的方法来测试它们。
使用Qt的信号-槽机制,可以无缝地将Qt设计师创建的部件或窗体与手工编写的代码整合在一起,这使得我们可以轻松地为图形元素定义行为。Qt设计师设置的所有属性均可以在代码中动态地修改。Furthermore, features like widget promotion and custom plugins allow you to use your own components with Qt Designer.
注意:除了部件(widgets),你还可以选择使用Qt Quick来设计用户界面,它是编写许多应用的快捷途径。由于它是基于OpenGL 图形加速技术,它充分支持了可定制外观,触摸反应元件,平滑地动画过渡。
初识Qt设计师

打开Qt设计师
安装完Qt后,可以像打开其他程序一样打开Qt设计师,也可以从Qt Creator中打开Qt设计师。Qt Creator自动将所有的.ui文件放在它集成的Qt设计师中以设计模式打开。一般意义下,集成的Qt设计师包含全部独立Qt设计师的功能,关于它们之间的差异,请参考Qt手册。
如果窗体太大不适合在Qt Creator中以设计模式打开,可以使用独立Qt设计师打开。
用户界面
独立Qt设计师界面可以被设置为多窗口界面或docked window mode,集成Qt设计师只有多窗口界面可供使用
在多窗口模式下,可以调节各个工具窗口以适应你的工作风格,主窗口包含了菜单栏、工具栏以及一个包含了所有可用的部件的部件盒子

(懒得翻译,都是废话)
Qt Designer's Main Window
The menu bar provides all the standard actions for managing forms, using the clipboard, and accessing application-specific help. The current editing mode, the tool windows, and the forms in use can also be accessed via the menu bar.
The tool bar displays common actions that are used when editing a form. These are also available via the main menu.
The widget box provides common widgets and layouts that are used to design components. These are grouped into categories that reflect their uses or features.
Qt Designer's Widget Box
The widget box provides a selection of standard Qt widgets, layouts, and other objects that can be used to create user interfaces on forms. Each of the categories in the widget box contain widgets with similar uses or related features.
You can display all of the available objects in a category by clicking on the handle next to the category label. When in Widget Editing Mode, you can add objects to a form by dragging the appropriate items from the widget box onto the form, and dropping them in the required locations.
Qt Designer provides a scratch pad feature that allows you to collect frequently used objects in a separate category. The scratch pad category can be filled with any widget currently displayed in a form by dragging them from the form and dropping them onto the widget box. These widgets can be used in the same way as any other widgets, but they can also contain child widgets. Open a context menu over a widget to change its name or remove it from the scratch pad.
通过菜单栏、工具栏以及部件盒子可以使用Qt设计师的大部分功能,少部分功能需要通过上下文菜单才能使用,在大多数平台上,点击鼠标右键可以打开上下文菜单。
Qt中布局(layout)的概念
布局是用来安排和管理用户界面中的元素。Qt提供了一组类来自动掌控界面布局--QHBoxLayout, QVBoxLayout, QGridLayout, and QFormLayout。这些类解决了自动完成部件布局的难题,使得用户界面具有可预见性。幸运地是,不需要对这些类有很详细的了解,直接使用即可。
每个Qt部件有推荐的大小,可通过sizeHint()得到,这些布局管理者会尝试将这些部件设置为推荐大小。某些情形下,没有必要使用其他的大小。例如,根据字体的类型和大小,QLineEdit 的高度就是固定值。还有一些情形下,需要对部件的大小进行调整,而每个部件的大小都有最大值和最小值--minimumSize 和 maximumSize。
下图展示了栅格中各个部件的位置(3x3),

上图中 QPushButton对象是嵌套的。
下面的例子展示了Qt layout根据需要自动调节部件大小的能力


Qt设计师Tab顺序编辑模式
Qt允许用户使用Tab键或Shift+Tab快捷键在不同的输入部件之间切换,部件默认的Tab顺序就是部件被构造的先后顺序,当然也可以自己编辑Tab顺序,使得应用程序更方便使用。
进入Tab顺序编辑模式后,通过点击输入控件上显示的序号,可以更改Tab顺序,直至满意为止。
Qt设计师Buddy编辑模式
Qt一个非常有用的特性是允许Buddy部件,即将一个QLabel部件与一个输入部件设为buddy关系,这样用户通过按下QLabel部件的快捷键就可以将输入光标设置在与它有buddy关系的输入部件。
Qt设计师中布局(layout)部件的使用
将多个对象放置在布局部件中,当窗体大小改变后,布局部件会自动调节它内部的对象大小。另外,不能单独调整布局部件内部对象的位置和大小,可以向布局部件中添加或删除空格(spacers)来调整其中部件的位置。
设置顶层级别的部件部件
顶层级别的部件部件可以保证窗体中部件的大小随着窗体大小的改变而改变。
水平布局和垂直布局
简单设置各个部件之间的水平关系和垂直关系
栅格(grid)布局
(待补充)
Form布局
将部件放在两列中,左边一列放置QLabel对象,右边一列放置输入控件
Splitter布局
Splitter布局和其他布局部件一样,不同的是Splitter布局运行用户调整其中的空格大小,已调整部件的位置
Qt设计师中容器(container)的使用
Qt 设计师手册的更多相关文章
- 【翻译】利用Qt设计师窗体在运行时创建用户界面(Creating a user interface from a Qt Designer form at run-time)
利用Qt设计师窗体在运行时创建用户界面 我们利用Calculator窗体例子中创建的窗体(Form)来展示当一个应用(application)已经生成后,是可以在其运行时产生与例子中相同的用户界面. ...
- 【Qt】2.3 使用Qt设计师来创建对话框
安装完Qt OpenSource之后,在开始菜单目录下会有这几个东西. 其中[Designer]是用来设计窗口界面的程序.所以现在可以使用它来设计一个对话框.在[Qt Creator]中,[设计]这一 ...
- 使用Qt设计师文件的3种方式
使用Qt设计师设计的.ui界面文件是XML文件,有3种方式在PyQt中使用,本文将通过实例进行讲解. 使用PyQt中如何结合Qt设计师进行开发中的例子.点击按钮修改标签的内容. 1. 直接使用ui文件 ...
- PyQt中如何结合Qt设计师进行开发
t设计师是Qt的所见即所得的界面设计工具,通过拖拉方式设计界面,但它并不能产生任何代码. Qt设计师使用.ui后缀的XML文件来存储界面内容.通过pyuic4命令可以编译成.py文件,.py文件的内容 ...
- QT新建空白项目-添加QT设计师界面类时出现的各种库无法导入识别
按照教材上先新建一个空的项目--添加Qt设计师界面类时 出现各种 库无法识别 解决方法: 在 .pro文件中加入一行 QT += widgets 去构建中先执行 qmake 然后再构建一下 ok了 ...
- pyqt 调用QT设计师创建的对话框
一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验步骤 2.1 ...
- Python GUI教程(六):使用Qt设计师进行窗口布局
本篇介绍使用qt设计师进行GUI窗口的布局管理,主要包含以下内容: 使用Qt设计师布局我们的窗口部件: 垂直布局: 水平布局: 网格布局: 使用间隔: 使用“伙伴”将label标签与窗口部件进行连接. ...
- Qt设计师学习笔记--Sharping-Changing Dialogs
1.pushbutton->default属性为true,按回车相当于点击该按钮. 2.选中checkable后,Button变成切换按钮(toggle button),可以有两种状态:按下/弹 ...
- centos中的qt设计师所在的包
由于暂时用不到qt的ide,所以想把它卸了,经过一番查找,其所在的包名是: qt-devel
随机推荐
- MySQL 显示命令
虽然现在各种图形化管理工具方便了MySQL的管理,但是偶尔还是需要手动输入指令来使用比较方便,以下是摘抄的一些命令,供自己备忘使用. 1.显示数据库列表. show databases; 2.显示库中 ...
- python Gunicorn
1. 简介 Gunicorn(Green Unicorn)是给Unix用的WSGI HTTP 服务器,它与不同的web框架是非常兼容的.易安装.轻.速度快. 2. 示例代码1 def app(envi ...
- 对bootstrap中confirm alert进行封装
HTML: <!-- system modal start --> <div id="ycf-alert" class="modal"> ...
- EF 保证线程内唯一 上下文的创建
1.ef添加完这个对象,就会自动返回这个对象数据库的内容,比如下面这个表是自增ID 最后打印出来的ID 就是自增的结果 2.lambda 中怎么select * var userInfoList = ...
- jQuery工具函数(转)
原文地址:http://www.cnblogs.com/kissdodog/archive/2012/12/27/2835561.html 作者:逆心 ------------------------ ...
- 今年暑假不AC
"今年暑假不AC?""是的.""那你干什么呢?""看世界杯呀,笨蛋!""@#$%^&*%...&quo ...
- Leetcode: Count The Repetitions
Define S = [s,n] as the string S which consists of n connected strings s. For example, ["abc&qu ...
- win10 pro 1511 激活成功
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX slmgr /skms franklv.ddns.net slmgr /ato
- 将图片插入到excel中
static void Main(string[] args) { //说明:插入图片 //1.创建EXCEL中的Workbook IWorkbook myworkbook = new HSSFWor ...
- zepto和jquery的区别,zepto的不同使用8条小结
说到诡异事件发生的原因,自然是想到两者之间的差异性. 首先是效果: jquery中有fadeIn和fadeOut两个效果,用来实现渐隐渐显的效果,这个在PC端自然是常用的效果.然后我们前端组的组员Mr ...