qt 菜单栏中可以添加图标吗

qt 菜单栏中可以添加图标吗,第1张

1.新建Qt4 Gui Application工程,将工程命名为MainWindow,其他选项默认即可。

生成的窗口界面如下图。其中最上面的为菜单栏。

2.我们在Type Here那里双击,并输入“文件(&F)”,这样便可将其文件菜单的快捷键设为Alt+F。(注意括号最好用英文半角输入,这样看着美观)

3.输入完按下Enter键确认即可,然后在子菜单中加入“新建(&N)”,确定后,效果如下图。

4.我们在下面的动作编辑窗口可以看到新加的“新建”菜单。

5.双击这一条,可打开它的编辑对话框。我们看到Icon项,这里可以更改“新建”菜单的图标

6.我们点击后面的...号,进入资源选择器,但现在这里面是空的。所以下面我们需要给该工程添加外部资源。

7.添加资源有两种方法。一种是直接添加系统提供的资源文件,然后选择所需图标。另一种是自己写资源文件。我们主要介绍第一种。新建Qt Resources file,将它命名为menu。其他默认。

8.添加完后如下图。可以看到添加的文件为menu.qrc。

9.我们最好先在工程文件夹里新建一个文件夹,如images,然后将需要的图标文件放到其中。

10.在Qt Creator的menu.qrc文件中,我们点击Add下拉框,选择Add Prefix。我们可以将生成的/new/prefix前缀改为其他名字,如/File。

11.然后再选择Add下拉框,选择Add Files。再d出的对话框中,我们到新建的images文件夹下,将里面的图标文件全部添加过来。

12.添加完成后,我们在Qt Creator的File菜单里选择Save All选项,保存所做的更改。

13.这时再打开资源选择器,可以看到我们的图标都在这里了。(注意:如果不显示,可以按一下上面的Reload按钮)

14.我们将new.png作为“新建”菜单的图标,然后点击Shortcut,并按下Crtl+N,便能将Crtl+N作为“新建”菜单的快捷键。

15.这时打开文件菜单,可以看到“新建”菜单已经有图标了。

VS2013+Qt

一.设置程序图标

1.在创建项目时注意选择

它会自动生成一个*.ico文件,若不想用,直接替换掉即可。

2.若忘记选择这一步,则可以自己手动创建一个*.rc文件,内容参考例子,添加到项目里,效果一样。

例如:IDI_ICON1   ICON   DISCARDABLE     “child.ico"

3.也可在程序里使用setWindowIcon()来添加

例如:

QIcon icon("D:\\Qt\\project(creator)\\serial\\1.jpg")

w.setWindowIcon(icon)

二.设置系统托盘图标

.h文件:

例如:QStstemIcon m_sysTray

.cpp文件:

m_sysTray.setToolTip("")//设置提示文字

m_sysTray.setIcon(QIcon("路径"))//设置图标

QMenu* menu = new QMenu()//托盘菜单

menu->addAction(ui.actionExit)//可添加托盘右键菜单

m_sysTray.setContextMenu(menu)//设置右键菜单

m_sysTray.show()//显示

在使用Qt创建桌面程序的时候,经常会使用Qt designer来设计程序界面。

而Qt窗口类中,QMenuBar和QToolBar中并没有按钮或选项类的控件,取而代之的是要向这些控件中添加QAction。这一个个Action构成了类似按钮似的“控件”。

网上很多在源代码中添加QAction的方法。实际上,在Qt designer中也可以方便的想菜单栏和工具栏添加action。

方法如下:

1、打开动作编辑器。

如果找不到动作编辑器,请点击Qt designer的菜单栏的“视图”-“动作编辑器”。

2、在动作编辑器窗口添加新的动作

3、拖动该动作到菜单栏或状态栏

大功告成

如果想为改Action设置响应函数,可以将该Action的Triggered()信号与想要的槽函数相连。

//连接信号和槽

connect(ui.actionInputFlightData,SIGNAL(triggered()),this,SLOT(testTra()))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11615997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存