全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

QT使用教程之QMainWindow概述

来源:千锋教育
发布人:qyf
2023-02-13

推荐

在线提问>>

  1、QMainWindow概述

  QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个铆接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget)。

图片 1

  2、菜单栏

  菜单栏类QMenuBar

  菜单类QMenu

  QAction类:充当子菜单(菜单项)

  #include

  #include

  #include

  resize(800,600);

  //创建菜单栏

  QMenuBar *menubar = new QMenuBar(this);

  this->setMenuBar(menubar);

  //创建菜单

  QMenu *menu1 = new QMenu("文件");

  QMenu *menu2 = new QMenu("编辑");

  QMenu *menu3 = new QMenu("构建");

  menubar->addMenu(menu1);

  menubar->addMenu(menu2);

  menubar->addMenu(menu3);

  //创建菜单项

  QAction *act1 = new QAction ("打开文件");

  QAction *act2 = new QAction ("另存为");

  QAction *act3 = new QAction ("关闭文件");

  menu1->addAction(act1);

  menu1->addAction(act2);

  menu1->addAction(act3);

图片 2

  补充:

  另一种创建菜单栏的方式(成员函数)

  QMenuBar *menubar = menuBar();

  点击菜单项,实现对应功能

  connect(act3,&QAction::triggered,this,&QMainWindow::close);

  3、工具栏

  工具栏类QToolBar:

  QAction类:充当子工具(工具项)

  #include

  //创建工具栏

  QToolBar *toolbar = new QToolBar(this);

  //this->addToolBar(toolbar);

  this->addToolBar(Qt::LeftToolBarArea ,toolbar);

  //创建工具项

  QAction *act4 = new QAction ("工具");

  toolbar->addAction(act1);

  toolbar->addAction(act2);

  toolbar->addAction(act3);

  toolbar->addAction(act4);

  //使用setAllowedAreas()函数指定停靠区域:

  toolbar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);

  //修改工具栏不可移动(默认可上下左右移动)

  toolbar->setMovable(false);

  //设置工具栏的浮动状态(默认可悬浮窗口)

  toolbar->setFloatable(false);

图片 3

  4、状态栏

  状态栏QStatusBar:

  #include

  //创建状态栏

  QStatusBar *statusbar = statusBar();

  // QStatusBar *statusbar = new QStatusBar(this);

  this->setStatusBar(statusbar);

  //增加临时信息

  //statusbar->showMessage("页面显示成功",3000);

  //增加正式信息(一般位于状态栏左侧)

  QLabel *label1 = new QLabel("打开文件", this);

  statusbar->addWidget(label1);

  //增加永久信息(一般位于状态栏右侧)

  QLabel *label2 = new QLabel("www.qf.com", this);

  statusbar->addPermanentWidget(label2);

  状态栏信息分类:

  临时信息

  正式信息

  永久信息

图片 4

  5、铆接部件(浮动窗口)

  铆接部件QDockWidget:

  #include

  QDockWidget *dockwidget = new QDockWidget("first",this);

  this->addDockWidget(Qt::TopDockWidgetArea ,dockwidget);

图片 5

  6、核心部件

  除了以上部件以外,我们可以创建其他部件作为核心部件

  #include

  //创建记事本作为核心部件

  QTextEdit *edit = new QTextEdit("文本编辑器", this);

  this->setCentralWidget(edit);

图片 6

  7、资源文件

  Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。

  加载资源:

  步骤1:新增资源文件(右键工程新增资源文件)

  步骤2:给资源文件增加前缀

  步骤3:给资源文件增加资源(图片)

  步骤4:起别名(选用)

图片 7

  案例1、给菜单项加载图片

  //创建图片控件

  QPixmap pix;

  //选择图片

  pix.load(":/image/add.png");

  //给菜单项设置图片

  act1->setIcon(QIcon(pix));

图片 8

  案例2、增加背景图(补充)

  this->setFixedSize(800,600);

  this->setAutoFillBackground(true);//允许绘制

  //创建图片控件

  QPixmap pix = QPixmap(":/image/butterfly.png").scaled(this->size());

  // pix.load(":/image/butterfly.png");

  QPalette palette;

  palette.setBrush(QPalette::Background,QBrush(pix));

  this->setPalette(palette);

  8、UI文件

  ui功能:绘制界面(通过拖拽控件)

  ui使用:

图片 9

相关文章

unity快捷键大全

unity射线检测多个物体

unity图集合并成图片

unity富文本字体大小

unity哪个版本免费

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取