Qt项目——文本编辑器(菜单栏)

9 篇文章 1 订阅

项目地址: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();
  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Outlier_9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值