VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录

资源管理器与icon图标设置步骤

  1. qrc负责加载一些资源文件,当项目新建之后可以看到

VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第1张图片
2. qrc负责图标资源等的加载,因为路径中含有中文,常常导致无法自动设置,需要自己手动添加,添加的顺序是:
(1)打开资源管理文件.qrc
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第2张图片
(2)把当前项目的qrc文件添加进来(相当于VS虽然有了qrc文件,但由于路径中可能含有中文,需要自己手动添加资源文件)
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第3张图片
(3)选择项目内原有的资源文件(这一步也可以手动在qrc编辑栏内手动填入QtMainWindow.qrc)VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第4张图片 (4)在项目文件夹内新建icon文件夹,提前放入png,ico等类型的图标; VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第5张图片
(5)qrc文件内添加add files,这里就是添加icon文件夹(如果没有前面的步骤,这里就不能添加Add Files)
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第6张图片

(6)将提前准备好的项目文件夹中icon的图片文件全部添加进来
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第7张图片
至此,添加完成
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第8张图片
打开ui后,进入ui编辑界面,打开资源管理器,可以看到已经含有图标文件
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第9张图片

属性编辑器

VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第10张图片
当拖入一个控件之后,比如说这里,拖入一个Label控件,可以从属性编辑器内看到类之间的继承关系;最上方是QObject,是所有控件乃至主界面的父类,是Qt的基础类;QWidget继承于QLabel;QFrame继承于QWidget;QLabel继承于QFrame;通过属性编辑器,学习各种控件类的方法与属性;

菜单栏与工具栏在QtCreator中的设置

菜单栏和工具栏默认在QMainWindow中才有,因此一开始新建项目时,选择继承QMainWindow;
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第11张图片

菜单栏设置(在对象编辑器里选择QMenuBar)

在这里插入图片描述
注意:这里输入之后,要选择Enter键才成功,不能直接退出
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第12张图片
二级菜单下如果直接在界面内输出,不支持中文输入,可以先随便输入两个数字,再选中,直接在动作编辑器内编辑
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第13张图片
这样编辑就可以出现中文了
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第14张图片

工具栏设置(在对象编辑器里选择QToolBar)

Qt本身默认的工具栏高度很低,可以自己手动设置到高度30,这样看起来高度合适;

VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第15张图片
在工具栏内添加选项,需要使用动作编辑器(如果QtCreator内没有出现动作编辑器,视图—动作编辑器)
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第16张图片
动作编辑器选择新建
VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第17张图片
这里图标便可以从上文的资源管理器内选取了

VS+Qt资源管理器与icon图标设置,菜单栏与工具栏在QtCreator中设置的流程记录_第18张图片
新建之后,便可以在动作编辑器内看到新建的QAction对象了;
将动作编辑器直接拖动到工具栏内,便可以看到工具栏内出现了图标;
在这里插入图片描述

菜单栏,工具栏代码编辑

菜单栏,工具栏是QAction类对象,不同于其余控件,没有clicked信号,信号是triggered

connect(ui.actionOpen, SIGNAL(triggered()), this, SLOT(actionOpenSlot()));

你可能感兴趣的:(Qt,qt,开发语言,ui)