01 背景
【WordBN字远笔记】是天恩软件工作室开发的一款免费笔记软件;WordBN基于VS2019、Qt6.5开发,使用Qt Quick(QML)开发语言。
本课程将以【WordBN字远笔记】的界面为实战基础,详细介绍如何基于Qt/QML开发语言,从零开始开发一套真正的程序,包括国际化、版本发布、安装包制作等项目实战技巧。
本课程重点不是教你如何开发一个笔记软件,而是教你如何利用Qt/QML+C++开发一个完整的程序,整套课程规划有40+章节,敬请关注!
本章内容《#04 修改ApplicationWindow;添加菜单栏MenuBar》
02 课程目标
- 学习新建qml文件;
- 学习ApplicaitonWindow主应用界面,MenuBar菜单栏,MenuItem菜单项的使用
03 知识点
- ApplicationWindow元素:ApplicationWindow是一个特殊的窗口元素,它继承自Window,并添加了一些额外的功能,使其更适合作为应用程序的主窗口。
- qsTr()函数:qsTr()函数是一个用于国际化的函数,它允许开发者编写可以轻松地翻译为多种语言的应用程序。
- MenuBar元素:QML利用MenuBar元素来创建菜单栏。
- Menu元素:Menuf元素用于表示一个下拉菜单或弹出菜单,Menu可以包含多个MenuItem作为子项。Menu通常与MenuBar一起使用,以构建应用程序的导航菜单,但也可以独立使用,例如在上下文菜单(右键菜单)中。
- MenuItem元素:MenuItem元素用于表示菜单中的一个选项。MenuItem通常被放置在Menu内,作为其子项,以构建应用程序的导航菜单或上下文菜单。
04 新建主窗体YApplicaitonWindow.qml
- 按快捷键:Ctrl+N,新建文件;选择【Qt】->【QML File (Qt Quick 2)】。
- 输入文件名:"YApplicationWindow.qml",路径记得在后面输入"qml",统一保存到qml目录:
- 修改 YApplicaitonWindow.qml 代码如下:
import QtQuick
import QtQuick.Controls
ApplicationWindow {
width: 640
height: 480
visible: true
title: qsTr("WordBN")
}
05 新建菜单栏YMenuBar.qml
- 为了实现多语言,这里使用 qsTr() 函数包装,并且使用英文描述。(下一课会讲如何实现多语言界面)
- 最终修改 YMenuBar.qml 代码如下:
import QtQuick
import QtQuick.Controls
MenuBar {
Menu {
id: fileMenu
title: qsTr("&File")
MenuItem {
text: qsTr("&New")
}
MenuSeparator {}
MenuItem {
text: qsTr("&Quit")
onTriggered: {
//
}
}
}
Menu {
id: editMenu
title: qsTr("&Edit")
// ...
}
Menu {
id: helpMenu
title: qsTr("&Help")
// ...
}
}
- 把YMenuBar添加到YApplication文件,代码如下:
import QtQuick
import QtQuick.Controls
ApplicationWindow {
visible: true
width: 1024
height: 780
title: qsTr("WordBN")
menuBar: YMenuBar {
}
}
06 修改Main.qml
- 修改Main.qml;
import QtQuick
import QtQuick.Window
import "./qml"
YApplicationWindow {
}
- 最终菜单效果:
07 课后练习
- 熟悉ApplicaitonWindow常用属性和信号。
- 实现程序退出菜单按钮。
-End-
#想了解更多精彩内容,关注下方公众号,还有示例源码、开发工具免费下载。
本人小杨哥:
超20年C++开发经验;著名开源产品高并发C++应用服务器MYCP作者;开源企业即时通讯软件Entboost首席架构师;开发有WordBN字远笔记等共享软件产品。
长期招收C++开发学员,欢迎关注咨询。