项目地址:GitHub - Outlier9/CatEditor: Cat文本编辑器--Qt
有帮助的话各位点点 star 啦,感谢!
如果有需要学习该项目的人,觉得看文档较为困难,可以加我联系方式,给github点个star后可免费提供学习视频!!!
二、项目开发
1.菜单栏
(1)添加菜单栏选项
在创建项目文件的时候,选中创建.ui
文件,项目类型为QMainwindown
,在.ui
界面添加菜单栏选项
添加的时候会发现,无法输入中文,这是QTCreator
一项不太合理的设计,我们需要事先在文本文件中写好所有需要添加的菜单项,然后逐一复制(复制过后记得按回车才能保存),这样就可以创建中文形式的菜单栏
另外需要一并设置快捷键的,创建的时候需要添加取地址符号,例如:编辑(&E)
最后效果如图:
(2)添加图标、快捷方式、状态
图标可以从阿里巴巴矢量图标库下载:iconfont-阿里巴巴矢量图标库(下载的图片保存到项目文件的同级文件夹中,我这里命名为images
)
新建resource.qrc
文件,将图片添加到项目中,记得保存
接下来添加图标,切换到Action Editor
(在页面的最下方),选中要进行编辑的action,然后再属性栏中找到icon
属性,点击右边的下三角,选择资源,找到该action对应的图标然后点击OK
然后我们在属性栏中设置添加一个状态栏显示(statusTip)以及快捷键(short)的显示,如图:
依次设置所有的action,如图:
(3)添加工具栏
如果没有工具栏,在右侧对象和类面板右击Mainwindow选择添加工具栏,直接点击界面然后右击也可以添加工具栏
然后将Action Editor
区域内的action往工具栏拖拽即可,每拖拽一类的工具栏后可再次添加工具栏,像字体和对齐方式这样同属格式的,可以右击工具栏选择添加分隔符
最后加上调整标题字体字号的下拉框(ComboBox)
(4)初始化字号
添加初始化函数void initMainWindow();
void MainWindow::initMainWindow()
{
//初始化字号列表
QFontDatabase fontdb;
foreach(int fontsize,fontdb.standardSizes())
ui->sizeComboBox->addItem(QString::number(fontsize));
QFont defFont;
QString sFontSize;
int defFontSize; //当前应用程序默认字号
int defFontindex; //当前字号在组合框中的索引号
defFont = QApplication::font(); //获取字体信息
defFontSize = defFont.pointSize(); //获取字号信息
sFontSize = QString::number(defFontSize); //将字号转化为字符类型
defFontindex = ui->sizeComboBox->findText(sFontSize); //将选中的字号传给findText函数,然后找到其索引
ui->sizeComboBox->setCurrentIndex(defFontindex); //将获取到的索引设置给下拉框
//设置多文档区域滚动条
ui->mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
ui->mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
}
在构造函数中调用该函数:
ui->setupUi(this);
initMainWindow();