QML控件和对话框之ApplicationWindows

这篇具有很好参考价值的文章主要介绍了QML控件和对话框之ApplicationWindows。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ApplicationWindows应用程序窗口

Application Window在 Qt Quick Controls中类似于QMain Window 在 Qt/C++中的角色,ApplicationWindow可以充当应用程序顶层窗口,具有自己的布局,包含menuBar、toolBar、statusBar等属性,可以使用平台无关的方式方便地添加菜单栏、工具栏和状态栏等项目,该类型还包含一个contentltem属性,用来进行窗口的大小设置。
QML控件和对话框之ApplicationWindows
QML控件和对话框之ApplicationWindows

Action

Action控件似于QAction类,封装应用程序中的动作命令。Action可以添加到菜单、工具条中,由用户触发或通过快捷键调用。使用Action最大的好处在于,出现在多个位置的Action可以自动同步,比如,可以将一个Action添加到菜单栏和工具栏,当修改了Action的某些属性时,菜单栏和工具栏对应的按钮会同步改变,QtQuick中支持为Button、ToolButton和Menultem添加Action.前面的例子创建了4个Action:quitAction、cutAction、copyAction和pasteAction,其中,quitAction被添加到菜单中;后三者则同时添加到了菜单和工具栏。Action的text属性就是Action在界面上显示的文本。同QAction类似,也可以使用“&.”符号指定快捷键,还可以使用tooltip属性来设置工具提示。iconName属性指定了图标名字,该名字由当前主题定义,通常由操作系统提供。iconSource属性指定了图标文件或资源的URL.与iconName不同,iconSource通常指向用户提供的图标文件。QML既可以由文件系统直接加载,又可以从Qt资源系统中加载。如果QML文档不是从资源系统中加载,那么iconSource属性不能使用资源系统中的图片,也就是不能使用.qre文件中的资源,这一点与Qt/C++不同,这里将Action的
iconSource设置为相对路径,例如“images/quit.png”,这意味着Action需要寻找当前目录下的images 目录中的quit.png文件。Action可以通过shortcut属性来设置快捷键,除了像代码中那样使用字符串来设置快捷键,还可以使用标准键,例如复制操作就是StandardKey.Copy,全部的标准键可以在帮助中查看StandardKey关键字。
Action 具有triggered()信号,类似于QAction的triggered()信号。通过连接这个信号,可以响应Action的动作。为达到这一目的,需要在相应的onTriggered()信号处理器中编写代码。
Action类型包含一个checkable属性,可以设置Action是否可以被选中或者被切换状态,默认是false,如果设置为true,那么可以通过checked属性来获取或设置状态。状态改变时会发射toggled()信号,而且这时还可以使用exclusiveGroup属性将几个Action设置为互斥的一组,同组中只能有一个Action被选中。

菜单类控件

Application Window 有一个menuBar 属性,用于设置菜单栏,默认情况下,菜单栏是没有设置的。menuBar属性要指定一个MenuBar类型对象,MenuBar类似于QMenuBar,用于表示一个菜单栏,MenuBar只有menus和style两个属性,其中menus是list<Menu>类型。这是一个默认属性,意味着可以直接将子对象添加到一个MenuBar实例中。MenuBar可以添加Menu类型的子控件,如前面的代码所示。Menu对应着QMenu,可以作为菜单栏的顶层菜单(例如File、Edit等),可以作为另外菜单的子菜单,也可以作为独立菜单或者上下文菜单。Menu的title属性类似于Action的text属性,用于显示菜单的文本,它也支持使用“&.”指定快捷键以及使用qsTr()函数支持国际化。Menu有一个默认属性items,用于设置菜单的子项目。虽然这个属性的类型是list<Object>,但它仅支持Menu、MenuItem和MenuSeparator 这3种类型的对象作为其子项目。Menu可以作为当前菜单的子菜单;Menultem作为当前菜单的菜单项;MenuSeparator作为当前菜单的分隔符。Menu类型包含了一系列有用的方法,例如:添加菜单项addltem()、添加子菜单addMenu()、添加分隔符addSeparator()、插人菜单项insertItem()、插人菜单insertMenu()、插入分隔符insertSeparator()、移除项removeltem()(可以是菜单、菜单项或分隔符)以及在光标处打开菜单的popup()等,值得说明的是,Menu的insertltem函
数支持将动态创建的对象添加到菜单项。Menultem是Menu 最常见的子项目。Menultem对应C++中的QMenultem,作为添加到Menu或者MenuBar的菜单项,Menultem与Action具有相似的属性和信号,而且Menultem可以将一个Action对象赋值给其action属性,用于初始化MenuItem的各个属性,比如text、iconName等。可以使用MenuSeparator类型作为菜单分隔线,该类型包含一个visible属性来设
置其是否可见。

3.StatusBar

ApplicationWindow的statusBar属性用于向应用程序窗口添加状态栏,这个属性的类型是Item,因此可以将任何Item对象设置为状态栏,但最常见的还是使用StatusBar控件。默认情况下,这个属性是没有默认值的,因此没有状态栏。当设置了某个控件时,状态栏将会自动附加到窗口中。
StatusBar通常只会作为ApplicationWindow状态栏。需要注意的是,StatusBar并没有提供布局管理器,所以,在使用时必须添加自己的布局管理器。正如前面代码所展示的那样,一般会为StatusBar增加RowLayout布局管理器,用于排列添加到状态栏的控件。

4.工具栏控件类

Applicatio1Window 的toolBar属性用于向应用程序窗口添加工具栏。toolBar属性与statusBar非常类似。这个属性的类型同样是Item,但最常见的是使用ToolBar控件,默认情况下,这个属性是没有默认值的,因此应用程序窗口没有工具栏。当设置了某个控件时,工具栏将会自动附加到窗口中。ToolBar通常只会作为Application Window的工具栏。需要注意的是,与StatusBar类似,ToolBar也没有提供布局管理器,所以,使用时一般需要添加自己的布局管理器。就像前面代码中展示的那样,在使用ToolBar控件时,一般会为其增加了一个RowLayout 布局管理器。添加到工具栏的按钮可以是ToolButton类型。ToolButton是Button的子类。这是专为工具栏显示优化的按钮,其余属性则同普通的按钮类似。文章来源地址https://www.toymoban.com/news/detail-421610.html

到了这里,关于QML控件和对话框之ApplicationWindows的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MFC为资源对话框添加消息处理函数和初始化控件

    现在我VC6新建了一个对话框工程;又在资源添加了一个新的对话框,并为新的对话框添加了名为CTestDlg的类; 在主对话框的cpp文件包含#include \\\"TestDlg.h\\\"; 在主对话框的cpp文件的OnInitDialog()成员函数中,添加2句,     CTestDlg tdlg;     tdlg.DoModal(); 就可以弹出这个对话框; 在新

    2024年01月18日
    浏览(50)
  • .net-----Windows 窗体应用程序包括控件,对话框,多重窗体,绘制图形,菜单和工具栏

    Windows窗体应用程序概述;  使用Visual Studio开发Windows窗体应用程序;  窗体和控件概述;  使用常用Windows窗体控件;  通用对话框;  菜单和工具栏;  多重窗体;  多文档界面;  绘制图形 Windows窗体应用程序是运行在用户计算机本地的基于Windows的应用程序,

    2024年02月04日
    浏览(65)
  • 【QT入门】 Qt自定义控件与样式设计之QPushButton实现鼠标悬浮按钮弹出对话框

    往期回顾: 【QT入门】 Qt自定义控件与样式设计之qss选择器-CSDN博客 【QT入门】 Qt自定义控件与样式设计之QLineEdit的qss使用-CSDN博客 【QT入门】Qt自定义控件与样式设计之QPushButton常用qss-CSDN博客 鼠标悬浮弹出对话框的功能:最终要实现纯代码设计出一个音量按钮,当鼠标悬浮

    2024年04月23日
    浏览(41)
  • 【windows编程之对话框】对话框原理,对话框的创建

    在本章节中我们来讲解Windows/Win32编程中对话框的原理和对话框的创建,我们在前几篇章节中讲解到了普通窗口中回调函数的处理,在普通窗口的窗口消息处理函数(回调函数)中,系统会首先调用我们自己写的回调函数,我们自己编写的回调函数没有处理的消息,才会交给系

    2024年02月03日
    浏览(90)
  • 对话框之模式对话框与无模式对话框以及自定义消息

    模式对话框 创建模式对话框步骤 创建模式对话框模板 IDD_COptionsDialog 构造一个CDialog对象,并封装对话框模板 调用CDialog:Domal()显示对话框 无模式对话框 创建对话框模板 IDD_COptionsDialog 构造一个CDialog对象,并封装进对话框模板 单击菜单项显示无模式对话框

    2024年02月10日
    浏览(54)
  • 【Qt】对话框QDialog类,模态对话框和非模态对话框

    QDialog类是所有对话框窗口类的基类。对话框窗口是一个用来完成短小任务或和用户进行简单交互的 顶层窗口 。 按照运行对话框时是否还可以和该程序的其它窗口进行交互,将它分为两类:模态(modal)对话框和非模态(modaless)对话框。 模态对话框 先看一个例子: 创建一

    2024年02月05日
    浏览(63)
  • Qt对话框——QInputDialog输入对话框

    Qt对话框——QInputDialog输入对话框 在Qt开发中,我们有时需要通过一个对话框获取用户的输入,而QInputDialog就是Qt框架提供的一种方便地弹出输入对话框并获取用户输入数据的方式。 QInputDialog使用非常简单,我们可以通过访问不同的接口来弹出输入对话框获取多种类型的返回

    2024年02月12日
    浏览(52)
  • MFC 通用对话框之文件对话框

    CFileDialog 类 封装了Windows通用文件对话框,Windows通用文件对话框提供了轻松实现与Windows标准一致的打开文件、保存文件、另存文件对话框的方法。 当我们用CFileDialog类的构造函数生成一个对象后就修改 m_ofn 结构体对象里的值, m_ofn 的类型为 OPENFILENAME。 CFileDialog类构造函数的

    2024年02月05日
    浏览(66)
  • MFC 通用对话框之颜色对话框

    CColorDialog类封装了颜色对话框,此类允许您将颜色选择对话框合并到应用程序中。颜色对话框就像画家的调色板一样,可显示系统定义的颜色列表,用户可以从列表中选择或创建特定颜色。构造一个CColorDialog类对象后,可用 DoModal( ) 函数来显示颜色对话框。 CColorDialog 的构造

    2024年02月06日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包