大型茶叶网站建设优异网站

当前位置: 首页 > news >正文

大型茶叶网站建设,优异网站,正邦集团招聘,怎样做网站地图#x1f601;博客主页#x1f601;#xff1a;#x1f680;https://blog.csdn.net/wkd_007#x1f680; #x1f911;博客内容#x1f911;#xff1a;#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频#x1f36d; #x1f923;本文内容#x1f923;博客主页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::ApplicationShortcut或Qt::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 QListQKeySequence shortcuts)void setShortcuts(QKeySequence::StandardKey key)QKeySequence shortcut() constQt::ShortcutContext shortcutContext() constQListQKeySequence 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 类详细介绍了该类重要的信号、槽函数。 常用的方法总结 QAction::QAction( const QString text, QObject * parent ) QAction类的构造函数之一利用textparent创建QAction对象。QAction对象一般为菜单中的菜单项比如 “文件菜单中新建选项就是一个QAction对象上述构造函数中text成员变量即为菜单项所表示的内容。 用法QAction *newAction new QAction(tr(”New),this);void QAction::setIcon ( const QIcon icon ) 该函数可设置菜单项名称前的图标 用法newAction-setIcon(QIcon(“:/images/new.png”));void QAction::setShortcut ( const QKeySequence shortcut ); 设置QAction对象执行的快捷键 用法newAction-setShortcut(tr(“CtrlN”));void QAction::setStatusTip ( const QString statusTip ); 设置当鼠标移动到“动作”上时状态栏显示的提示语。void QAction::setVisible ( bool ); 设置“动作”显示与否当形参为true是“动作”表示。void QAction::triggered ( bool checked false ) [signal] 此函数为信号当用户触发此“动作”时此信号发射。例如用户点击了菜单中的菜单项等。 此函数一般用法为在QObject::connect函数中作为信号参数用于触发“动作”所对应执行的槽函数——实现“动作”的功能函数例如“新建”按钮被用户按下所需要的功能可能是新建一个文档那么新建一个文档的动作就在这个槽函数中实现。至于此信号函数中的形参暂时可以忽略。以后会在介绍QObject类中的静态方法connect()函数时详细解说。void QAction::setCheckable ( bool ); 此函数用于设置QAction类中的私有变量 bool checkable 此属性用以提供“动作”是否为复选动作例如Qt Creator中“控件”菜单中的“全屏”菜单项即为复选动作菜单 举例子 #include QApplication #include QMainWindow #include QMenuBar #include QAction #include QMessageBoxint 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(CtrlM)); // 设置快捷键// 连接 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