- 公开视频 -> 链接点击跳转公开课程
- 博客首页 -> 链接点击跳转博客主页
目录
标题栏
基本概念
设置窗口标题
隐藏标题栏
UI编辑器
窗口关闭事件
窗口大小调整事件
窗口移动事件
自定义标题栏
菜单栏
基本概念
设置菜单栏(API)
设置菜单栏(UI)
工具栏
基本概念
设置工具栏(API)
设置工具栏(UI)
状态栏
基本概念
设置状态栏(API)
标题栏
-  基本概念- 标题栏是窗口管理系统(如 Windows、macOS、Linux 等)的一部分,用于显示窗口的标题和控制按钮(如最小化、最大化和关闭按钮)。在 Qt 中,标题栏是由窗口管理系统处理的,但我们可以通过 Qt 提供的方法来设置标题栏的内容和行为。
 
-  设置窗口标题- 使用 QWidget或其子类(如QMainWindow)的setWindowTitle()方法可以设置窗口的标题。
 
- 使用 
-  隐藏标题栏- 可以通过设置窗口标志(Window Flags)来隐藏窗口的标题栏window.setWindowFlags(Qt::FramelessWindowHint);
 
- 可以通过设置窗口标志(Window Flags)来隐藏窗口的标题栏
-  UI编辑器-  选择主窗口(如 QMainWindow或QWidget)。
-  在右侧的属性编辑器中,找到 windowTitle属性。
-  设置 windowTitle属性为您希望的标题文本。
 
-  
-  窗口关闭事件- 处理窗口关闭事件可以覆盖 closeEvent方法
 
- 处理窗口关闭事件可以覆盖 
-  窗口大小调整事件- 处理窗口大小调整事件可以覆盖 resizeEvent方法
 
- 处理窗口大小调整事件可以覆盖 
-  窗口移动事件- 处理窗口移动事件可以覆盖 moveEvent方法
 
- 处理窗口移动事件可以覆盖 
-  自定义标题栏- 在某些情况下,您可能希望完全自定义标题栏的外观和行为。可以通过隐藏默认的标题栏并创建自定义的标题栏来实现。
 
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) , ui(new Ui::MainWindow)
{ui->setupUi(this);//窗口标题this->setWindowTitle("0xCC");//隐藏标题//this->setWindowFlags(Qt::FramelessWindowHint);}class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();public://窗口关闭void closeEvent(QCloseEvent *event) override{if(QMessageBox::question(this, "提示", "是否关闭窗口") == QMessageBox::Yes){this->close();}}//窗口大小//virtual void resizeEvent(QResizeEvent *event)// const QSize &size() const//窗口移动//virtual void moveEvent(QMoveEvent *event)//const QPoint &pos() constprivate:Ui::MainWindow *ui;
};-  菜单栏
-  基本概念- 菜单栏是应用程序窗口的一部分,包含一个或多个菜单,每个菜单又包含多个菜单项。菜单项可以是命令、子菜单或其他功能,如复选框和单选按钮。菜单栏在 QMainWindow中默认提供,并可以通过编程或使用 Qt Designer 进行设置。
 
- 菜单栏是应用程序窗口的一部分,包含一个或多个菜单,每个菜单又包含多个菜单项。菜单项可以是命令、子菜单或其他功能,如复选框和单选按钮。菜单栏在 
-  设置菜单栏(API)-  在 Qt 中,可以通过 QMenuBar类来创建和管理菜单栏。
-  菜单栏 - QMenuBar 
-  菜单项 - QMenu 
-  子菜单 - QAction 
 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this);//创建菜单栏 QMenuBar* menuBar = new QMenuBar(this);//创建菜单项 QMenu* fileMenu = new QMenu("文件", this); QMenu* EditMenu = new QMenu("编辑", this);//关联菜单项 menuBar->addMenu(fileMenu); menuBar->addMenu(EditMenu);//添加子菜单 QAction* openAction = new QAction("打开", this); QAction* exitAction = new QAction("退出", this); QAction* copyAction = new QAction("复制", this);fileMenu->addAction(openAction); fileMenu->addAction(exitAction); EditMenu->addAction(copyAction);//关联槽函数 connect(exitAction, &QAction::triggered, this, &MainWindow::close);//设置菜单栏 this->setMenuBar(menuBar); }
-  
-  设置菜单栏(UI)-  设置步骤 -  打开 Qt Designer 并加载您的主窗口 UI 文件。 
-  在窗口顶部,找到菜单栏区域(通常显示为“Type Here”)。 
-  点击“Type Here”并输入菜单名称(如“File”)。 
-  右键单击新创建的菜单,选择“Add Action”创建菜单项。 
-  在属性编辑器中,可以设置菜单项的属性,如文本、快捷键和图标。 
 
-  
-  属性设置 -  菜单 -  title:菜单的标题文本。 
-  enabled:是否启用菜单,默认为 true。
-  visible:是否可见,默认为 true。(setVisible)
 
-  
-  菜单项 -  text:菜单项的文本。 
-  icon:菜单项的图标。 
-  shortcut:菜单项的快捷键,例如 Ctrl+O。
-  checkable:是否为可选菜单项(复选框或单选按钮),默认为 false。
-  checked:如果 checkable为true,则表示菜单项是否被选中,默认为false。
-  enabled:是否启用菜单项,默认为 true。
-  visible:是否可见,默认为 true。
 
-  
 
-  
 
-  
-  工具栏
-  基本概念-  在 Qt 中,工具栏( QToolBar)是用户界面中常用的一个组件,用于快速访问应用程序中最常用的功能。
-  QToolBar:Qt 中的工具栏类,继承自 QWidget。
-  QAction:表示一个可以添加到菜单、工具栏或上下文菜单的操作。 
 
-  
-  设置工具栏(API)-  创建工具栏 - QToolBar 
-  添加动作到工具栏 - addAction 
 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) , ui(new Ui::MainWindow) {ui->setupUi(this);//创建工具栏QToolBar* toolBar = new QToolBar(this);//设置工具栏this->addToolBar(toolBar);//添加工具项QAction* newAction = new QAction("New", this);QAction* openAction = new QAction("Open", this);QAction* saveAction = new QAction("Save", this);//关联工具项toolBar->addAction(newAction);toolBar->addAction(openAction);toolBar->addAction(saveAction);//绑定控件类QLineEdit* lineEdit = new QLineEdit(this);toolBar->addWidget(lineEdit);//设置停靠区域toolBar->setAllowedAreas(Qt::TopToolBarArea | Qt::LeftToolBarArea);//设置浮动toolBar->setFloatable(0);//设置移动toolBar->setMovable(1);//创建工具栏QToolBar* toolBar2 = new QToolBar(this);//设置工具栏this->addToolBar(Qt::BottomToolBarArea,toolBar2);//添加工具项QAction* copyAction = new QAction("copy", this);QAction* pasteAction = new QAction("Paste", this);QAction* cutAction = new QAction("Cut", this);//关联工具项toolBar2->addAction(copyAction);toolBar2->addAction(pasteAction);toolBar2->addAction(cutAction);}
-  
-  设置工具栏(UI)-  添加工具栏: -  在主窗口上右键点击,选择“添加工具栏”。 
 
-  
-  设置工具栏属性: -  在属性编辑器中,可以设置工具栏的名称、浮动性、可移动性等属性。 
 
-  
-  添加动作: -  在动作编辑器中创建动作,然后将动作拖拽到工具栏上。 
 
-  
-  属性设置 -  objectName:控件的内部名称,用于代码中引用该工具栏。 
-  windowTitle:工具栏的窗口标题,通常在工具栏浮动时显示。 
-  allowedAreas:定义工具栏可以停靠的区域(顶部、底部、左侧、右侧或任意组合)。 
-  floatable:是否允许工具栏浮动。如果设置为 true,工具栏可以被拖出主窗口并独立显示。 
-  movable:是否允许移动工具栏。如果设置为 true,用户可以拖动工具栏并重新定位。 
-  orientation:工具栏的方向,默认为水平方向(Qt::Horizontal),也可以设置为垂直方向(Qt::Vertical)。 
-  iconSize:工具栏中图标的大小。可以设定一个 QSize 来指定宽度和高度。 
-  toolButtonStyle:工具栏按钮的样式。可以是只显示图标、只显示文字、同时显示或者按照按钮的默认设置。 
 
-  
 
-  
-  状态栏
-  基本概念-  在 Qt 应用程序中,状态栏( QStatusBar)通常位于应用程序窗口的底部,用于显示临时的状态信息、提示信息或其他动态内容。
-  状态栏(QStatusBar):显示应用程序的当前状态信息和其他短暂的信息。通常用于提示用户当前的操作状态、显示进度或提供简单的帮助信息。 
 
-  
-  设置状态栏(API)-  创建并设置状态栏 - 使用 QMainWindow的statusBar()方法创建和获取状态栏实例。
-  显示简单文本信息 - 使用 showMessage()方法在状态栏显示文本。
-  添加永久信息 - 可以使用 addPermanentWidget()方法在状态栏中添加永久的控件(如标签或进度条)。
 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) , ui(new Ui::MainWindow) {ui->setupUi(this);QStatusBar* statusBar = new QStatusBar(this);this->setStatusBar(statusBar);statusBar->showMessage("欢迎进入QT学习", 3000);QLabel* labelVer = new QLabel("Ver -> 1.0", this);statusBar->addPermanentWidget(labelVer);QProgressBar* progressBarFile = new QProgressBar(this);progressBarFile->setRange(0, 100);statusBar->addPermanentWidget(progressBarFile);progressBarFile->setValue(66);connect(ui->pushButton, &QPushButton::clicked, [=](){statusBar->showMessage("FileSave", 2000);});}
-