目录

  • 目录
  • 前言
  • 系统软件
  • QT Designer
  • Using QT Designer
    • Open QTDesigner Tool
    • Widget Box
      • QT Designer的布局
    • 属性栏
  • 示例
    • i 我们选择Main Window
    • ii 拖动控件设计你喜欢的窗体框架
    • iii 保存ui文件
    • iiii 将ui文件转换为py文件
      • 使用pyuic4bat
      • 使用PyCharm External Tools

前言

QT Desinger这个工具让我们可以想C#一样通过拖动组件来开发GUI应用程序。对于新手或敏捷开发而言都是一大利器,但是如果希望深入的学习QT底层代码实现的话,这当然不是一个好的选择。

系统软件

  • 系统

    • Win 10
  • 软件
    • PyCharm 5
    • Python 3.4.3
    • PyQt 4

QT Designer

官方手册,点这里
摘要:
Qt Designer is the Qt tool for designing and building graphical user interfaces (GUIs) with Qt Widgets. You can compose and customize your windows or dialogs in a what-you-see-is-what-you-get (WYSIWYG) manner, and test them using different styles and resolutions.
Widgets and forms created with Qt Designer integrate seamlessly with programmed code, using Qt’s signals and slots mechanism, so that you can easily assign behavior to graphical elements. All properties set in Qt Designer can be changed dynamically within the code. Furthermore, features like widget promotion and custom plugins allow you to use your own components with Qt Designer.
QT Designer 是构建和设计图形用户界面(gui)的Qt工具。可以以所见即所得(what-you-see-is-what-you-get)的方式来组合和定制你的窗口或者对话框,并且可以使用不同的风格和解决方案来测试。
使用QT Designer创建的部件和表单,你可以无缝的将这些部件的信号和槽集成到程序代码中,所以你能够很容易的去指定图形组件的动作。在QT Designer中设定的属性值在代码中可以动态的更改,而且QT Designer允许你使用自己拥有的部件和自定义插件。

Using QT Designer

使用QT Designer的几个步骤:
1)创建窗体并在窗体中放置各种控件。
2)对窗体进行布局设计。
3)设置各控件的标签顺序。
4)创建信号和槽。
5)连接信号和槽。

Open QTDesigner Tool

启动QT Designer后,提供了5种表单样式
1)底部带”确定”,”取消”按钮的对话框窗体。
2)右侧带”确定”,”取消”按钮的对话框窗体。
3)不带按钮的对话框窗体。
4)Main Window类型窗体。
5)通用窗体。

Widget Box

QT Designer的控件栏
左边是控件栏,提供了很多控件类,可以像Visual studio那样直接将控件拖放QWidget中看到效果,Ctrl+R可以预览效果。

QT Designer的布局

Qt Designer Widget Box 中的Layouts控件提供了四种布局方法:
Vertical Layout 纵向布局
Horizontal Layout 横向布局
Grid Layout 栅格布局
Form Layout 在窗体布局中布局

属性栏

右边是对窗口及控件的调整、设置、动作 、添加资源(列如:图片)。还可以直接编辑Qt的信号槽(signal和slot)。
通过信号槽机制,QT使对象间的通信变得非常简单,Example:
对象A声明信号(signal),对象B实现与A参数相匹配的槽(slot),通过调用connect()进行连接,合适的时机对象A使用emit把带上参数的信号发射出去,对象B的槽会就接收到响应,并做出动作。
信号与槽作为QT的核心机制,在QT程序中广泛应用,以后再专门介绍。

示例

i. 我们选择Main Window

MainWindows默认添加了菜单栏(menubar)、工具栏和状态栏(statusbar)等

ii. 拖动控件设计你喜欢的窗体框架

在设计窗体框架的时候需要注意层次之间的关系,这个可以在对象查看器中得到体现

还可以在属性编辑器中对每一个部件的属性进行设计

iii. 保存.ui文件

默认保存到PyCharm当前项目的workspace中。

iiii. 将.ui文件转换为.py文件

使用pyuic4.bat

D:\>D:\development\\Python34\Lib\site-packages\PyQt4\pyuic4.bat d:\development\PyCharm\PycharmProjects\PyQT_demo\EscortHandle.ui -o d:\development\PyCharm\PycharmProjects\PyQT_demo\escortHandle.py

Command line pyuic4:
The pyuic4 utility is a command line interface to the uic module. The command has the following syntax:

pyuic4 [options] .ui-file

The full set of command line options is:
-h, –help
–version
-i <Number>, –indent <N> 指定Python code的缩进格式
-o <FILE>, –output <FILE> 指定转换成.py文件的文件名
-p, –preview 预览
-w, –pyqt3-wrapper 封装器,兼容PyQt3
-x, –execute The generated Python code includes a small amount of additional code that creates and displays the GUI when it is executes as a standalone application.
–from-imports Resource modules are imported using from . import rather than a simple import.
–resource-suffix <SUFFIX> The suffix <SUFFIX> is appended to the basename of any resource file specified in the .ui file to create the name of the Python module generated from the resource file by pyrcc4. The default is _rc. For example if the .ui file specified a resource file called foo.qrc then the corresponding Python module is foo_rc. 当使用资源的时候需要注意

使用PyCharm External Tools

在之前介绍个将pyuic4工具扩展到PyCharm中,传送门

OK! 在获得了.py文件之后你就可以继续之后的逻辑层程序的编写了。

Done

QT Desinger设计窗体应用程序框架相关推荐

  1. Python 使用Qt可视化开发窗体应用程序

    1.先下载qt开发工具,文档说的很清楚 方法一: (本文用的是此下载安装方式) 官方下载链接库:https://download.qt.io/https://download.qt.io/安装文档:h ...

  2. 百问网七天物联网课程学习笔记——程序框架设计

    以前我一直觉得只有做纯软件的程序员才需要注意程序框架的设计,上了韦东山老师的课之后才觉得做单片机的程序开发注意框架设计也是很必要的事情.要在单片机开发的过程中引入面向对象的思想,这样的代码更容易扩展, ...

  3. python的gui界面 可视化_使用可视化设计窗体的GUI程序

    示例Demo2_1用PyQt5的一些类创建了一个简单的GUI应用程序,窗体及窗体上的标签对象的创建和属性设置都完全由代码完成.显然这种纯代码方式构造UI的方式是比较麻烦的,特别是在窗体上组件比较多.层 ...

  4. access 子窗体 鼠标滚动不工作_使用可视化设计窗体的GUI程序

    示例Demo2_1用PyQt5的一些类创建了一个简单的GUI应用程序,窗体及窗体上的标签对象的创建和属性设置都完全由代码完成.显然这种纯代码方式构造UI的方式是比较麻烦的,特别是在窗体上组件比较多.层 ...

  5. c# 火狐浏览器怎么嵌入窗体中_C#WinForm窗体内Panel容器中嵌入子窗体、程序主窗体设计例子...

    C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用 ...

  6. Android 程序框架设计

    http://blog.csdn.net/leehong2005/article/details/8535306 这篇文章主要内容来自于之前我讲的一个PPT文档,现在将其整理如下.欢迎指正.以下的内容 ...

  7. 【Microsoft Visual Studio 2010完成CLR窗体应用程序】计算器和画图板的设计

    计算器和画图板的设计 目录: 计算器设计 画图板设计 整体总结和分析 前言: 本次应课程要求要用C++设计计算器和画图程序,我会使用Microsoft Visual Studio 2010来完成该窗体 ...

  8. C#创建Windows窗体应用程序实例9【菜单设计】

      都实例9了?你还不会创建项目?不会操作步骤?不会写代码?请进入下方链接学习吧! C#创建Windows窗体应用程序实例1https://blog.csdn.net/qq_45037155/arti ...

  9. Android程序框架设计

    1.一些概念 模式的定义: 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心.通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作. 什么是设计模 ...

最新文章

  1. LeetCode简单题之整数的各位积和之差
  2. 电路基础知识 -- 三态
  3. Python爬虫之旅_TWO
  4. Java自带的线程池ThreadPoolExecutor详细介绍说明和实例运用
  5. PHP逐行解析文件,并写入数据库
  6. LVS Nginx 负载均衡区别
  7. Mysql 获取年级每个班前十学生的信息
  8. 用于对Compound协议进行无Gas投票和委托的社区工具发布
  9. 苹果说:没错,我就是故意让旧 iPhone 变慢的!
  10. Daily Scrum 11.5日
  11. 服务器文件夹只读属性,修改云服务器上文件夹只读属性
  12. 开源音乐软件——落雪
  13. Jupyter 查看中间变量值的方法
  14. 揭秘偷渡史,福建最疯,全村一半人都出国了
  15. 千呼万唤始出来,犹抱琵琶半遮面——python变量和数据类型
  16. 银行卡编码规则及检验算法详解
  17. Flask系列教程(一)-----------入门
  18. PHP相关系列 - XSS相关
  19. nginx配置文件结构1
  20. 如何从iCloud中下载元气骑士存档

热门文章

  1. ms-sql是mysql吗_mssql和mysql有哪些区别?
  2. 编写python程序输出图形_python 图形化编程---文本输入框
  3. 这家芯片公司98%员工学历不足本科,却要布局全产业链冲刺IPO,网友:认真的吗?...
  4. 人造肌肉机械臂太逼真引热议,举7kg哑铃“肌肉”清晰可见,网友:《西部世界》...
  5. 中科大团队打造“象鼻”机器人,开门、擦玻璃、会给女朋友拧瓶盖的那种
  6. 计算力即生产力,智算中心就是智慧时代的“发电厂” | MEET2021
  7. 传闻要被「降级」的这所211高校,让这位网红教授「救活了」
  8. 手机扫一扫,现实物体隔空「复制粘贴」进电脑!北大校友的AI新研究,现在变成AR酷炫应用...
  9. 腾讯8篇AI医疗论文入选国际学术顶会,涵盖癌症图像分类、CT病灶检测等领域...
  10. ThinkPHP微信实例——JSSDK图像接口多张图片上传下载并将图片流写入本地