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类提供的函数来显示状态信息。默认有三类状态栏:临时信息(显示一般信息)、正常信息(显示页数和行号)和永久信息(显示版本号或者日期)。
以上创建主窗口就到此为止。
沒有留言:
張貼留言