QtDesigner的基本使用方法
《PyQt5学习》-该系列文档其他章节可以点击下方链接跳转
第一章 PyQt5 +Pycharm环境搭建
第二章 QtDesigner的基本使用方法
内容简介
前言
Qt是使用C++语言编写的跨平台GUI库,既可以用于开发GUI程序,也可以开发非GUI程序,使用Qt开发的代码只需要在不同的操作系统平台山重新编译,就可以在该平台运行,也就是说Qt开发的程序的跨平台模式是源码级的。支持Windows、Mac OSX和Linux。由于Qt使用C++语言编写,所以使用Qt开发的GUI程序界面风格与当前操作系统完全相同,而且运行效率高。
GUI:带图形用户接口的程序,也就是我们常说的桌面应用。
一、什么是PyQt?
PyQt是一个用于创建GUI应用程序的跨平台工具包,将Python和Qt融为一体,允许使用Python语言调用Qt库中的API。因为使用Python语言开发效率远大于C++,这样就极大的提高了开发效率。
二、基本使用方法
在上一篇我们已经配置好了QtDesigner,以及学习了如何启动,现在我们就开始学习QtDesigner的基本使用方法。
1.打开QtDesigner
通过工具-External tools打开QtDesigner出现新建窗体界面。可以看到主要有三种类型的窗口:
Main Window:可以包含菜单栏、工具栏、状态栏和标题栏,是最常见的窗口形式
Dialog:是对话窗口的基类。没有菜单栏、工具栏、状态栏。
Widget:不确定窗口的用途,就使用QWidget。
选择Main Window进行创建。
2.认识界面
1.控件面板:列出了该应用支持的所有控件,通过窗口部件盒将所有同类部件放在一起
2.视图框:可以勾选显示要用到的所有编辑框
3.窗体:点击菜单栏的窗体按钮可以对正在编辑的GUI进行预览,同时还可以查看设计窗口的C++和Python代码。
4.各种控件:包括Layout-QtDesigner所支持4种布局方式:垂直、水平、栅格、表单;Spacers-横向和水平间距分布;Buttons-各种按钮控件;Item Views-列表,树,表格等控件;Item Widgets:采集用户输入的各种输入方法控件;Containers-容器控件
.
3.控件的基本用法
QtDesigner的控件直接通过拖动进行使用,在界面设计中可以通过以下几种方法进行布局:
1.框选出全部需要布局的控件右键点击布局选择布局方式;
2直接从左侧控件列表中拖出相应的布局方式,再把需要的控件拖入布局框中进行布局;
3.选中的控件可以直接拖拉调整尺寸和大小,也通过属性编辑器可以直接设置控件坐标尺寸,除此之外属性编辑器还可以设定控件的最大最小尺寸等属性。
QtDesigner支持水平布局,垂直布局,表单布局,和栅格布局,这些布局也可以嵌套使用,摆放完成后可以通过预览查看效果。QtDesigner的控件使用比较简单,其他控件的使用大家自行尝试即可。
3.信号(signal)与槽(slot)
1.信号与槽是Qt的核心机制,也是PyQt的核心机制。
信号:是由对象或控件发射出去的消息。例如:按钮的单击事件,当单击按钮时,按钮就会向外部发送单击的消息,这些发送出去的信号需要一些代码来拦截,这些代码就是槽。
槽:本质上是一个函数或方法。
信号可以理解为事件,槽可以理解为事件函数,需要将信号和槽绑定。
一个信号可以和多个槽绑定, 一个槽可以拦截多个信号
2.QtDesigner中信号与槽的设置(将按键与窗口退出按钮绑定示例)
在窗口中拖入一个界面,然后选择Edit-编辑信号/槽。
然后点击按钮进行拖动,会出选配置链接窗口,勾选显示从QWidget继承的信号与槽,选择pushbutton按钮触发方式为点击触发,选择MainWindow槽为close(),点击ok。
完成后出现以下效果,打开预览,点击PushButton后退出窗口页面。
4.在窗口中添加菜单和工具栏
创建一个页面必然少不了菜单栏和工具栏,我们已经创建了一个自带菜单栏、工具栏和状态栏的Main Window窗口。
那么如何来使用它们呢,直接拖动控件?absolutely not。设置菜单栏和状态栏要用到action组件,通过动作管理器进行设置如果你忘了动作编辑器在哪的话可以点击一下视图,然后就可以继续操作了:
在动作编辑器下创建一个action组件需要进行一些设置,名字类型和图标就不用多说了,剩下checkable就是把这个action设置为可勾选模式,shortcut可以自定义快捷键。创建好action按键组件后,还是熟悉的操作——拖动到菜单栏和工具栏就可以了!
总结
至此,我们已经学完了QtDesigner的基本操作,掌握了这些基础技能,就可以通过QtDesigner编辑界面了,但是想要更深入的编写一些功能,还是要转换到pycharm中通过python进行编写,下一章将讲述通过python编写pyqt界面。