6--QT 创建主窗口MainWindow

一个应用程序主窗口框架一般包含有:

1..菜单栏。最上面一栏。

2..工具栏。一般是第二栏,而且是可以移动的。

3..中心部件。用于显示主要功能。

4..Dock部件。通常称为停靠窗口,因为可以停靠在中心部件周围,相当于ps里面的工具箱

5..状态栏。在窗口最下面一栏就是状态栏。

 

 

 

如何使用QT创建一般形式的窗口?

步骤:

1.      首先新建一个新的QT项目,.ui文件的基类为MainWindows。

2.      建立好项目之后,进入设计模式,在主设计区中左上角的“在这里输入”修改为”文件(&F)”。如图:


其中需要注意的是:括号为英文状态下的括号,&F被称为加速键,表示在程序运行的时候可以按Alt+F激活该菜单。

3.      完成上述操作之后,点击文件,在文件里的“在这里输入”改为”新建文件夹(&N)”,得到如下的截图:

 

这个时候运行代码的结果是:


初步界面已经实现。

4.      使用资源来替换图片。

第一步,添加Qt资源文件。

 

第二步,添加资源。在项目外,新建一个Image文件夹,然后再里面添加两张图片1.jpg,2.jpg。


回到Qt Creator,然后打开刚才新建的.qrc文件,右键选择Add Existing Directory.

然后在选择框下面只选择1.jpg,2.jpg图片。如下:


确定完之后.qrc文件就会多出这些东西。

 

然后CTRL+S保存之前的操作。

第三步,使用图片。双击中间下面的对象名称进入动作编辑对话框,然后设置

 

然后选择图标右边的选择资源选择对应的图片。


如果要设置快捷键也可以在Shortcut里面设置快捷键。

最后确定保存,运行。


可以看到图标已经在上面了。

 

也可以使用代码来实现创建菜单:

头文件添加#include<QMenu>

  QMenu*qm=ui->menuBar->addMenu("编辑(&E)");

    //往文件这个菜单里面添加Aciton(打开文件)

    QAction*action_Open=ui->menu_F->addAction(QIcon(":/Images/ /1.jpg"),"打开文件(&O)");

    action_Open->setShortcut(QKeySequence("Ctrl+O"));//添加快键

    ui->mainToolBar->addAction(ui->action_New);//添加工具栏,新建文件

ui->mainToolBar->addAction(action_Open);//添加工具栏,打开文件

 

PS:这里需要十分注意的是,Qicon里面的地址需要加冒号。

 

最后运行的结果:

 

 

 

5.       设置信号槽。如果一个菜单点击了没有任何反应,那么这个菜单也是没有任何用处的。

这里带你如何设置槽。

先在窗口中添加一个MdiArea部件,作为响应菜单执行的载体。

然后在Action编辑器中的“新建文件”动作上右键转到槽,选择triggered()触发信号,确定之后转到该信号槽的定义处。

 

需要添加头文件:

#include<QTextEdit>
#include<QMdiSubWindow>
代码
void MainWindow::on_action_New_triggered()
{
    QTextEdit*edit=newQTextEdit();//新建一个TextEdit部件
    QMdiSubWindow*child=ui->mdiArea->addSubWindow(edit);
    child->setWindowTitle("新建文件");
    child->show();//非模态,可以创建N个子窗口
}

 

 

 

 

 

6.       工具箱的实现。(Dock部件)

这里调用的是QDockWidget类中的部件。

 

先在设计模式添加一个子菜单“显示工具箱”,以及一个Dock部件:Dock Widget.

然后单击转到槽创建triggered()的槽函数。

输入代码:

//显示工具箱
voidMainWindow::on_action_show_triggered()
{
    ui->dockWidget->show();
}

然后就可以在关闭掉工具箱的时候,按下该菜单就可以重新显示Dock。

 

7.       添加状态栏。

直接使用QStatusBar类提供的函数来显示状态信息。默认有三类状态栏:临时信息(显示一般信息)、正常信息(显示页数和行号)和永久信息(显示版本号或者日期)。

 

以上创建主窗口就到此为止。

 

  • 5
    点赞
  • 24
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

我要抱紧了

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值