您的位置:首页 > 游戏 > 手游 > 注册公司代理找哪家_常见的管理信息系统有哪些_湘潭网站建设_濮阳市网站建设

注册公司代理找哪家_常见的管理信息系统有哪些_湘潭网站建设_濮阳市网站建设

2024/11/17 5:32:12 来源:https://blog.csdn.net/wkd_007/article/details/142329269  浏览:    关键词:注册公司代理找哪家_常见的管理信息系统有哪些_湘潭网站建设_濮阳市网站建设
注册公司代理找哪家_常见的管理信息系统有哪些_湘潭网站建设_濮阳市网站建设

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭
🤣本文内容🤣:🍭介绍 🍭
😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭
⏰发布时间⏰:

本文未经允许,不得转发!!!

目录

  • 🎄一、概述
  • 🎄二、QAction 构造方法和属性方法
    • ✨2.1 构造方法
    • ✨2.2 属性方法
  • 🎄三、信号(Signals)、槽(Slots)
    • ✨3.1 信号(Signals)
    • ✨3.2 槽(Slots)
  • 🎄四、总结


在这里插入图片描述
在这里插入图片描述

🎄一、概述

QAction类提供了一个抽象的用户界面操作,可以插入到小部件(widgets)中。

在应用程序中,可以通过菜单(menus)、工具栏按钮(toolbar buttons)和键盘快捷键(keyboard shortcuts)调用许多常用命令。由于用户希望以相同的方式执行每个命令,而不管使用的用户界面是什么,因此将每个命令表示为动作(action)是有用的。

动作(Action)可以添加到菜单和工具栏,并将自动保持同步。例如,在文字处理程序中,如果用户按下“粗体”工具栏按钮,将自动选中“粗体”菜单项。

动作(Action)可以作为独立对象创建,但也可以在菜单构建过程中创建;QMenu类包含方便的函数,用于创建适合作为菜单项使用的操作。

QAction可能包含一个图标、菜单文本、快捷方式、状态文本、“What’s This?”文本和一个工具提示。其中大多数可以在构造函数中设置。它们也可以通过setIcon()、setText()、setIconText()、setShortcut()、setStatusTip()、setWhatsThis()和setToolTip()独立设置。对于菜单项,可以使用setFont()设置单独的字体。

使用QWidget::addAction()QGraphicsWidget::addAction()将动作添加到小部件(widgets)中。注意,在使用小部件(widget)之前,必须向其添加操作;用作快捷方式时(即Qt::ApplicationShortcutQt::ShortcutContext)也应该这样做,并且快捷方式应该是全局的。

创建QAction后,应该将其添加到相关菜单和工具栏中,然后连接到执行该操作的槽。例如:

const QIcon openIcon = QIcon::fromTheme("document-open", QIcon(":/images/open.png"));
QAction *openAct = new QAction(openIcon, tr("&Open..."), this);
openAct->setShortcuts(QKeySequence::Open);
openAct->setStatusTip(tr("Open an existing file"));
connect(openAct, &QAction::triggered, this, &MainWindow::open);
fileMenu->addAction(openAct);
fileToolBar->addAction(openAct);

我们建议将操作创建为使用它们的窗口的子窗口。在大多数情况下,操作(Action)将是应用程序主窗口(main window)的子窗口。


在这里插入图片描述

🎄二、QAction 构造方法和属性方法

✨2.1 构造方法

QAction(QObject *parent = nullptr);
QAction(const QString &text, QObject *parent = nullptr);
QAction(const QIcon &icon, const QString &text, QObject *parent = nullptr);

✨2.2 属性方法

文本和图标:

QString text() const
获取动作的文本标签。void setText(const QString &text)
设置动作的文本标签。QIcon icon() const
获取动作的图标。void setIcon(const QIcon &icon)
设置动作的图标。QString iconText() const
获取动作的图标文本void setIconText(const QString &text)
设置动作的图标文本

状态:

bool isCheckable() const
返回动作是否可选中void setCheckable(bool)
设置动作可否选中bool isChecked() const
返回动作是否被选中(适用于复选框)。void setChecked(bool checked)
设置动作的选中状态。bool isEnabled() const
返回动作是否可用。void setEnabled(bool enabled)
启用或禁用该动作。

快捷键:

QString shortcut() const
获取动作的快捷键。void setShortcut(const QKeySequence &shortcut)
设置动作的快捷键。void setShortcutContext(Qt::ShortcutContext context)void setShortcutVisibleInContextMenu(bool show)void setShortcuts(const QList<QKeySequence> &shortcuts)void setShortcuts(QKeySequence::StandardKey key)QKeySequence shortcut() constQt::ShortcutContext shortcutContext() constQList<QKeySequence> shortcuts() const

在这里插入图片描述

🎄三、信号(Signals)、槽(Slots)

✨3.1 信号(Signals)

  • void changed()
    

    该信号在动作发生变化时发出。如果您只对给定小部件中的操作感兴趣,您可以监视QWidget::actionEvent()发送的QEvent::ActionChanged
    注意:
    autoRepeat属性的通知信号。
    checkable属性的通知信号。
    enabled属性的通知信号。
    font属性的通知信号。
    icon属性的通知信号。
    iconText属性的通知信号。
    iconVisibleInMenu属性的通知信号。
    menuRole属性的通知信号。
    shortcut属性的通知信号。
    shortcutContext属性的通知器信号。
    shortcutVisibleInContextMenu属性的通知信号。
    statusTip属性的通知信号。
    text属性的通知信号。
    toolTip属性的通知信号。
    visable属性的通知信号。
    whatsThis属性的通知信号。

  • void hovered()
    

    当用户突出显示(highlighted)某个动作时,就会发出这个信号;例如,当用户将光标停在菜单选项、工具栏按钮或按下操作的快捷键组合时。

  • void toggled(bool checked)
    

    当一个使能了可选(checkable)的动作改变了它的isChecked()状态时,就会发出这个信号。这可能是用户交互的结果,也可能是因为调用了setChecked()。当setChecked()更改QAction时,除了toggle()之外,它还会发出changed()。

    如果Action被选中,则参数checked为true,如果Action未被选中,则参数checked为false。

    注意:checked属性的通知信号。

  • void triggered(bool checked = false)
    

    当一个动作被用户激活时,就会发出这个信号;例如,当用户单击菜单选项、工具栏按钮或按下操作的快捷键组合时,或者调用trigger()时。值得注意的是,当setChecked()或toggle()被调用时,它不会被触发。

    如果Action是可选的(checkable),则参数checked为true表示Action被选中,参数checked为false表示Action未被选中。


✨3.2 槽(Slots)

void hover()
这是一个很方便的槽,使action活跃(activate(Hover))void setChecked(bool)
设置动作的选中状态。void setDisabled(bool b)
设置动作未使能。void setEnabled(bool)
设置动作使能。void setVisible(bool)
设置动作可见void toggle()
这是一个用于checked属性的方便函数。连接到它以将 checked 的状态更改为相反的状态。void trigger()
触发动作,使action活跃(activate(trigger))

在这里插入图片描述

🎄四、总结

👉本文介绍了Qt的 QActioin 类,详细介绍了该类重要的信号、槽函数。

常用的方法总结

  1. QAction::QAction( const QString & text, QObject * parent )
    QAction类的构造函数之一,利用text,parent创建QAction对象。QAction对象一般为菜单中的菜单项,比如 “文件"菜单中"新建"选项就是一个QAction对象,上述构造函数中text成员变量即为菜单项所表示的内容。
    用法:QAction *newAction = new QAction(tr(”&New"),this);
  2. void QAction::setIcon ( const QIcon& icon )
    该函数可设置菜单项名称前的图标
    用法:newAction->setIcon(QIcon(“:/images/new.png”));
  3. void QAction::setShortcut ( const QKeySequence & shortcut );
    设置QAction对象执行的快捷键
    用法:newAction->setShortcut(tr(“Ctrl+N”));
  4. void QAction::setStatusTip ( const QString & statusTip );
    设置当鼠标移动到“动作”上时,状态栏显示的提示语。
  5. void QAction::setVisible ( bool );
    设置“动作”显示与否,当形参为true是,“动作”表示。
  6. void QAction::triggered ( bool checked = false ) [signal]
    此函数为信号,当用户触发此“动作”时,此信号发射。例如用户点击了菜单中的菜单项等。
    此函数一般用法为:在QObject::connect()函数中作为信号参数,用于触发“动作”所对应执行的槽函数——实现“动作”的功能函数,例如:“新建”按钮被用户按下,所需要的功能可能是新建一个文档,那么新建一个文档的动作就在这个槽函数中实现。至于此信号函数中的形参暂时可以忽略。以后会在介绍QObject类中的静态方法connect()函数时详细解说。
  7. void QAction::setCheckable ( bool );
    此函数用于设置QAction类中的私有变量: bool checkable ,此属性用以提供“动作”是否为复选动作,例如Qt Creator中“控件”菜单中的“全屏”菜单项即为复选动作菜单

🌰举例子:

#include <QApplication>
#include <QMainWindow>
#include <QMenuBar>
#include <QAction>
#include <QMessageBox>int main(int argc, char *argv[]) {QApplication app(argc, argv);QMainWindow window;// 创建 QActionQAction *action = new QAction("Show Message", &window);action->setIcon(QIcon::fromTheme("dialog-information")); // 设置图标action->setShortcut(QKeySequence("Ctrl+M"));              // 设置快捷键// 连接 triggered 信号QObject::connect(action, &QAction::triggered, []() {QMessageBox::information(nullptr, "Info", "Action triggered!");});// 创建菜单并添加 QActionQMenu *menu = window.menuBar()->addMenu("File");menu->addAction(action);window.resize(300, 200);window.show();return app.exec();
}

🌰例子2:使用Action构造工具栏和菜单栏

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{initMenu();initToolBar();
}
void MainWindow::initMenu()
{/* 初始化File菜单 */fileMenu = new QMenu(tr("File"), this);fileOpenAction = new QAction("&Open...", this);fileSaveAction = new QAction("&Save...", this);fileMenu->addAction(fileOpenAction);fileMenu->addAction(fileSaveAction);/* 初始化Edit菜单 */editMenu = new QMenu("&Edit");editCopyAction = editMenu->addAction("&Copy");editCutAction = editMenu->addAction("&Cut");/* 将菜单添加到菜单栏上 */QMenuBar *menuBar = this->menuBar();menuBar->addMenu(fileMenu);menuBar->addMenu(editMenu);
}
void MainWindow::initToolBar()
{/* 初始化FileToolBar */fileToolBar = new QToolBar(this);fileToolBar->addAction(fileOpenAction);fileToolBar->addAction(fileSaveAction);/* 初始化EditToolBar */editToolBar = new QToolBar(this);editToolBar->addAction(editCopyAction);editToolBar->addAction(editCutAction);/* 将工具添加到工具栏上 */addToolBar(Qt::TopToolBarArea, fileToolBar);addToolBar(Qt::TopToolBarArea, editToolBar);
}
MainWindow::~MainWindow()
{}

在这里插入图片描述
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

参考:
《Qt assistant 文档》
https://blog.csdn.net/sinat_31608641/article/details/124898305
https://www.cnblogs.com/hehe001/archive/2013/05/05/6334433.html

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com