QAction QActionGroup QMenu 使用方法

在Qt中,QAction,QActionGroup 和 QMenu类用用来操作软件的菜单栏的,比如很多软件都有文件菜单,里面有打开,保存,另存为之类的选项,在Qt中就是通过这几个类来实现的。或者是在菜单中实现一些选项设置,多选或单选什么的。具体使用方法如下所示:

// Define QActionGroup
QActionGroup *group = new QActionGroup(this);
group->setExclusive(true);

// Add QAction
QAction *action1 = new QAction("Item1", group);
action1->setCheckable(true);
action1->setChecked(true);
ui->menuItem->addAction(action1);

QAction *action2 = new QAction("Item2", group);
action2->setCheckable(true);
ui->menuItem->addAction(action2);

// Connection
connect(group, SIGNAL(triggered(QAction*)), SLOT(updateItem(QAction*)));
// Respond function
void QtMainWindow::updateItem(QAction *action)
{
    if (action->text() == "Item1") {
        // TO DO
    }
    if (action->text() == "Item2") {
        // TO DO
    }
}
时间: 2024-12-17 09:54:39

QAction QActionGroup QMenu 使用方法的相关文章

三种方法为QLineEdit添加清除内容按钮

很多时候我们会发现输入的一长串内容不得不全部删除重新输入,这时比起一直按着退格键不放一个清除内容按钮更受欢迎. 今天我将介绍三种为QLineEdit添加清除内容按钮的方法,其中两种方法有较强的功能针对性,另一种方法则是通用的,不仅可以用来实现清除输入内容,还可以扩展出其他功能. 本文索引 方法1:setClearButtonEnabled显示清除按钮 方法2:使用QAction实现清除按钮 方法3:自定义QLineEdit为其添加按钮 最终的显示效果 方法1:setClearButtonEnab

Qt:多文档(MDI)文档处理软件思路01

文档处理软件是我们日常生活中最为常用的软件之一.在此以将记事本为例子,实现的基本思路描述. 一:基本外观功能. 1)有菜单栏和按钮,根据不同的实现功能,将按钮添加到菜单中,并且添加工具栏. 2)主窗口显示(在此不同于记事本,为多文本窗口). 在Qt中按钮的显示以QAction来替代,菜单和工具栏为QMenu和QToolBar,部分代码如下:     //in file menu.     QAction* pActionNew;     QAction* pActionOpen;     QAc

Qt Widgets——动作类与小部件菜单项

本文主要涉及以下三个类: QAction ——QWidgetAction QActionGroup QAction可称为动作类,它一般可当作菜单中的项组成菜单,也可作为工具栏上的按钮,它主要由图标.文本及快捷键三部分组成.QActionGroup用于将QAction分组,设置组内各QAction的互斥性质(exclusive ),设置后,组内的动作,在外观上形成多选框(不互斥)或单选框(互斥).QWidgetAction继承自QAction,它可将自定义的小部件插入到菜单项中,用于QSystem

Qt Widgets——主窗口及其主要组成部分

Main Window and Related Classes QAction 动作类,用于当做一个菜单项或工具项插入菜单或工具栏 QActionGroup 动作组,用于管理多个动作,设置它们之间的互斥性等 QWidgetAction 部件动作,继承自QAction,用于将小部件插入菜单或工具栏 QDockWidget 悬浮部件,程序运行后可鼠标拖动的部件 QMainWindow 主窗口,是其它部件的容器 QMdiArea 子区域,加到QMainWindow中,用于放置多个QMdiSubWind

6控件

概念: Qwidget:所有窗口及窗口控件都是从QWidget直接或间接派生出来的. 在Qt中创建对象的时候会提供一个Parent对象指针,下面来解释这个parent到底是干什么的. ?   QObject是以对象树的形式组织起来的. ?   当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是 parent,也就是父对象指针. 这相当于,在创建QObject对象时,可以提供一个其父对象,我们创建的这个QObject对象会自动添加到其父

PyQt5 入门

换了VSCODE开发,感觉比sublime好点,可能是由于第三版老弹框烦人吧.VSCODE看着也挺好看的. 学习 PyQt5 中文教程 0. 安装完之后错误 pip 安装了 pyqt5 from PyQt5.QtWidgets import QApplication, QWidget 这句错误:E0611:No name 'QApplication' in module 'PyQt5.QtWidgets' 搜到是要sip,卸载python5重新安装了sip后再试还是错误,但是直接在命令行运行是好

第三十八课、Qt中的事件处理(上)

一.图形界面应用程序的消息处理模型 二.Qt的事件处理 1.Qt平台将系统产生的消息转换为Qt事件(每一个系统消息对象Qt平台的一个事件) (1).Qt事件是一个QEvent的对象 (2).Qt事件用于描述程序内部或者外部发生的动作 (3).任意的QObject对象都具备事件处理的能力 2.GUI应用程序的事件处理方式 (1).Qt事件产生后立即被分发到QWidget对象 (2).QWidget中的event(QEvent*)进行事件处理 (3).event()根据事件类型调用不同的事件处理函数

第三十七课、深度解析QMap与QHash

一.QMap深度解析 1.QMap是一个以升序键顺序存储键值对的数据结构 (1)QMap原型为class QMap<K, T>模板 (2).QMap中的键值对根据key进行了排序 (3).QMap中的key类型必须重载operator <     (小于操作符) 2.QMap使用实例一 3.QMap使用实例二 4.QMap的注意事项 (1).通过key获取Value时 A.当key存在,返回对应的Value B.当key不存在,返回值类型所对应的"零"值 (2).插入

QT QMianWindow类

QMianWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar).及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器等. QMainWindow中菜单需要QMenu类和QAction类来实现. QAction类定义了菜单的具体行为. QMainWindow中提供了menuBar()函数返回一个menuBar. 通过调用menuBar的addMenu函数就可以生成一个新的菜单项. QMenu类addAction函数为菜单指定一个QAction