QML基础语法五

控件和对话框

    使用Qt Quick Controls模块,导入import QtQuick.Controls

    1.Window窗口

Qt Quick项目都可以将Window作为根对象

设置 width、height、x、y宽高、坐标

设置title 窗口标题

设置color窗口背景色

设置opacity窗口透明度

设置visible属性显示隐藏

设置show()显示窗口

设置showFullScreen()全屏

设置showMaximized()最大化

设置showMinimized()最小化

设置showNormal()正常显示

设置hide()、close()隐藏、关闭

        关闭窗口发射closing信号,信号处理器onClosing,在其中设置close.accepted = false,强制窗口保持显示

window也可以创建在Item中

设置flags指定窗口显示类型 Qt.Dialog、Qt.Popup

设置modality指定窗口是否为模态,默认非模态  Qt.NonModal、 模态Qt.WindowModal(阻塞父窗口) Qt.ApplicationModal(阻塞整个应用)

import QtQQuick

import QtQQuick.Controls

Window{
    id:root;
    property bool changed:true
    width:;height:; x:;  y:;            
    visible:true
    title:qsTr("widnow test")
    opacity:0.7

    onClosing:(close)=>{
        if(changed){
            close.accepted = false
            dialog.show()
        }
    }

    Window{
        id:dialog
        width:;height:; x:;  y:;
        flags:Qt.Dialog
        modality:Qt.WindowModal
        Label{
            text:qsTr("确定退出?")
        }

        Row{
            spacing:10;x120;y80
            Button{
                text:qsTr("确定")
                onClicked:{
                    root.changed = false
                    dialog.close()
                    root.close()
                }
            }
        Button{
            text:qsTr("取消")
            onClicked:{
                dialog.close()
            }
        }
    }
   }
}

    ApplicationWindow应用程序主窗口

        该类为Window的子类,在Window基础上添加了menuBar、header、footer属性     

  ApplicationWindow{

            visible:true

            title:qsTr("application")

            menuBar:MenuBar{

                id:menuBar

                Menu{

                    id:fileMenu

                    title:qsTr("文件")

                    MenuItem{

                        title:qsTr("关闭")

                        icon.source:"close.png"

                        onTriggered:close()

                    }

                    MenuSeparator{}


                    MenuItem{

                        title:qsTr("关于")

                        icon.source:"about.png"

                        onTriggered:popup.open()

                    }

                   

                }            

            }

            header:ToolBar{

                RowLayout{

                    anchors.fill:parent

                    ToolButton{

                        text:qsTr("<")

                        visible:footerbar.currentIndex === 0

                        enable:stack.depth>1

                        onClicked:stack.pop()

                    }

                    ToolButton{

                        text:qsTr(">")

                        visible:footerbar.currentIndex === 0

                        enable:stack.depth<3

                        onClicked:stack.push(mainView)

                    }

                    PageIndicator{

                        id:indicator

                        visible:footerbar.currentIndex === 0

                        count:stack.depth

                        currentIndex:stack.depth

                    }

                    Label{

                        text:"工具栏"

                        elide:Label.ElideRight

                        horizontalAlignment:Qt.AlignHCenter

                        verticalAlignment:Qt.AlignVCenter

                        Layout.fillWidth:true

                    }


                    ToolButton{

                        text:qsTr("口")

                        onClicked:popup.open()

                    }

                }

            }

            footer:TabBar{}            

        }

    2.控件基类型 Control

        一般分为10类:按钮、容器、委托、指示器、输入、菜单、导航、弹出、分隔、日期

    2.1按钮

        包含AbstractButton及子类型Button、CheckBox、DelayButton、RadioButton、RoundButton、Switch、ToolButton

        AbstractButton

            是一个抽象控件,提供了按钮通用的功能,但本身无法直接使用

属性  类型  
action              Action  设置按钮动作,结合菜单项、工具栏使用
autoExclusionbool    是否启用排他性,为true,同一父项可选按钮只能选一个,RadioButton、TabButton默认为true
autoRepeat          bool    是否在按下按住时重复pressed、release、clicked信号,默认为false,为true不会发射pressAndHold信号
autoRepeatDelayint    自动重复初始延迟时间,默认300ms
autoRepeateIntervalint  自动重复间隔时间,默认100ms
checkablebool是否可选中
checkedbool 是否选中
  display  enumeration
down   bool视觉上显示按下

 

        CheckBox、RadioButton、ButtonGroup

            复选框、单选按钮、按钮组包含一组互斥按钮

        DelayButton、Switch

            可选中按钮,被选中发出信号前有个延迟,防止意外按压

            开关按钮,打开关闭切换

    2.2 容器类控件

        ApplicationWindow        

       

HorizontalHeaderView   为TableView提供水平表头
VerticalHeaderView为TableView提供垂直表头        
Pane继承Control,是面板容器基类,需要手动创建布局,RowLayout或者ColumnLayout
Page继承Pane,添加了header、footer属性,一般用在ApplicationWindow中间显示不同页面
Frame继承Pane,提供一个边框
GroupBox继承Frame
ScrollView继承Pane。提供垂直、水平滚动条

        Container  

        允许动态插入、移除项的基本类型,一般将项目作为Container的子对象进行直接声明,也通过addItem、insertItem、moveItem、removeItem动态管理

SplitView  用来水平、垂直布局项目,每个项目都有一个可拖动的拆分器
StackView将页面放入一个栈,先进后出
SwipeView基于滑动的导航模型,有一组页面填充,一次只能显示一页,一般与PageIndicator结合使用
TabBar基于选项卡的导航模型一般与SwipeView或者StackView类型结合使用
ToolBar

    2.3委托类控件

        父类ItemDelegate  标准的视图项,可以用作各种视图的委托

        CheckDelegate、     类似CheckBox的委托

        RadioDelegate、     类似RadioButton的委托

        SwipeDelegate、     实现向左向右滑动,一般用在ListView

        SwitchDelegate、

        TreeViewDelegate

    2.4指示器类控件

        BusyIndicator       显示一个忙碌指示器

        PageIndicator

        ProgressBar         显示一个进度条指示器

        ScrollBar

        ScrollIndicator

    2.5输入类控件

        ComboBox        组合按钮,弹出列表组合框

        Dial            类似拨号旋钮控件

        RangeSlider     范围控制器,from to

        Slider          与RangeSlider类似

        TextArea        多行文本编辑器

        TextField       单行文本编辑器

        Tumbler

        SpinBox

    2.6菜单类控件

    2.7导航类

    2.8弹出类

    2.9分隔类

    2.10 日期类

    2.11 对话框

        ColorDialog

        FileDialog

        FontDialog

        MessageDialog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/583200.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【PostgreSQL】pg触发器介绍

注: 本文为云贝教育 刘峰 原创&#xff0c;请尊重知识产权&#xff0c;转发请注明出处&#xff0c;不接受任何抄袭、演绎和未经注明出处的转载。 触发器是在对指定表执行指定更改操作&#xff08;SQL INSERT、UPDATE、DELETE 或 TRUNCATE 语句&#xff09;时自动运行的一组操作…

Java全栈开发前端+后端(全栈工程师进阶之路)-环境搭建

在课程开始前我们要配置好我们的开发环境&#xff0c;这里我的电脑太乱了&#xff0c;我使用vm虚拟机进行搭建开发环境&#xff0c;如果有需要环境的或者安装包&#xff0c;可以私信我。 那我们开始 首先我们安装数据库 这里我们使用小皮面板 小皮面板(phpstudy) - 让天下没…

面向表格数据的大模型推理

现实世界中存在大量未利用的先验知识和未标记数据。而在医疗等高价值领域&#xff0c;获取足够标记数据训练机器学习模型尤其困难&#xff0c;这限制了传统监督学习算法的应用。尽管深度学习方法在其他领域取得了显著进展&#xff0c;但在表格数据分类上仍未能超越传统的机器学…

WEB攻防-PHP特性-函数缺陷对比

目录 和 MD5函数 intval ​strpos in_array preg_match str_replace 和 使用 时&#xff0c;如果两个比较的操作数类型不同&#xff0c;PHP 会尝试将它们转换为相同的类型&#xff0c;然后再进行比较。 使用 进行比较时&#xff0c;不仅比较值&#xff0c;还比较变量…

在Linux操作系统中关于磁盘(硬盘)管理的操作

电脑中数据存储设备&#xff1a;硬盘&#xff08;实现数据的持久化存储&#xff09;&#xff0c;内存 在Linux操作系统中一切皆文件的思想&#xff0c;所有的设备在Linux操作系统中都是通过文件来标识的&#xff0c;所以每一个硬盘都对应一个块设备文件。 在Linux操作系统中所…

虚函数表与虚函数表指针

虚函数表与虚函数表是用来实现多态的&#xff0c;每一个类只有一个虚函数表 静态多态&#xff1a;函数重载&#xff08;编译期确定&#xff09; 动态多态&#xff1a;虚函数&#xff08;运行期确定&#xff09; 虚函数表的创建时机&#xff1a; 生成时间&#xff1a; 编译期…

C++——map和set的基础应用

目录 1.关联式容器 2.键值对 3.树型结构的关联式容器 4.set&#xff08;key模型&#xff09; 1.set性质 2.注意 3.set的使用 1.创建对象 2.插入 3.删除 4.查找 4.map&#xff08;key value模型&#xff09; 1.性质 2.map的使用 1.创建对象 2.插入 3.删除 4.[] 1.关联式容器 C中…

pytho爬取南京房源成交价信息并导入到excel

# encoding: utf-8 # File_name: import requests from bs4 import BeautifulSoup import xlrd #导入xlrd库 import pandas as pd import openpyxl# 定义函数来获取南京最新的二手房房子成交价 def get_nanjing_latest_second_hand_prices():cookies {select_city: 320100,li…

C语言 | Leetcode C语言题解之第50题Pow(x,n)

题目&#xff1a; 题解&#xff1a; double myPow(double x, int n){if(n 0 || x 1){return 1;}if(n < 0){return 1/(x*myPow(x,-(n1)));}if(n % 2 0){return myPow(x*x,n/2);}else{return x*myPow(x*x,(n - 1)/2);} }

selenium 4.x入门篇(环境搭建、八大元素定位)

背景 Web自动化测现状 1. 属于 E2E 测试 2. 过去通过点点点 3. 好的测试&#xff0c;还需要记录、调试网页的细节 一、selenium4.x环境搭建 一键搭建 pip3 install webdriver-helper 安装后自动的完成&#xff1a; 1. 查看浏览器的版本号 2. 查询操作系统的类型…

68.网络游戏逆向分析与漏洞攻防-利用数据包构建角色信息-自动生成CPP函数解决数据更新的问题

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

0426GoodsBiddingAJAX项目

0426GoodsBiddingAJAX项目包-CSDN博客 数据库字段 ​ 管理员的登录界面 ​ 登录成功跳转在线拍卖界面&#xff0c;使用监听器拦截请求&#xff0c;只能登录管理员后访问该界面 ​ 商品竞拍列表 ​ 商品竞拍列表的竞拍操作&#xff1a; ​ 1 用户未登录跳转用户登录界面&#x…

(三十一)第 5 章 数组和广义表(稀疏矩阵的三元组行逻辑链接的顺序存储表示实现)

1. 背景说明 2. 示例代码 1)errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrch…

算法03贪心与动态规划

算法03贪心与动态规划 1. 贪心与动态规划概述1.贪心1.1贪心概述1.2贪心常用场景1.3贪心解题思路 2.动态规划2.1动态规划概述2.2动态规划常用场景2.3动态规划解题模板 3.浅谈贪心与动态规划的关系 2.贪心经典题目区间问题 3.动态规划经典题目3.1体会“从整体到局部”的思考过程3…

2024Mac系统热门游戏排行榜 Mac支持的网络游戏有哪些?mac能玩哪些大型网游 苹果电脑Mac游戏资源推荐 Mac玩Windows游戏

“游戏是这个世界上唯一能和女性争夺男朋友的东西&#xff08;/滑稽&#xff0c;有不少女生也喜欢玩游戏&#xff09;。” 虽然只是一句玩笑话&#xff0c;不过也可以看出游戏对大多数男生来说是必不可少的一项娱乐活动了。而网络游戏是游戏中的一大分支&#xff0c;能让玩家们…

zabbix自动发现和自动注册

一、zabbix自动发现 1.1 确保客户端上的zabbix-agent2服务器状态正常 1.2 在web页面删除原有的客户端主机 1.3 在服务端和客户端上配置hosts 1.4 web端配置自动发现 二、zabbix自动注册 2.1 环境配置 2.2 修改zabbix-agent2配置文件 过滤非#或非&#xffe5;开头的内容 2.3 we…

基于遗传优化算法的TSP问题求解matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于遗传优化算法的TSP问题求解&#xff0c;分别对四个不同的城市坐标进行路径搜索。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 3.核心程序 ....…

前端开发攻略---用原生JS在网页中也能实现语音识别

1、语音识别的过程 语音识别涉及三个过程&#xff1a;首先&#xff0c;需要设备的麦克风接收这段语音&#xff1b;其次&#xff0c;语音识别服务器会根据一系列语法 (基本上&#xff0c;语法是你希望在具体的应用中能够识别出来的词汇) 来检查这段语音&#xff1b;最后&#xf…

基于EBAZ4205矿板的图像处理:02生成测试彩条图像

基于EBAZ4205矿板的图像处理&#xff1a;02生成测试彩条图像 生成测试彩条图像可以有两种方式 VDMA缓存PS端生成彩条图像数据&#xff0c;PL端输出 这里可以直接看超级大电工开源的代码&#xff0c;写的很好详细&#xff0c;我就不再班门弄斧了&#xff08;下面是链接&#…

22 - Hadoop HA 高可用集群搭建、手动模式、自动模式以及HA模式集群

目录 1、HA 概述 2、HDFS-HA 集群搭建 2.1、HDFS-HA 核心问题 3、HDFS-HA 手动模式 3.1、环境准备 3.2、规划集群 3.3、配置 HDFS-HA 集群 3.4、启动 HDFS-HA 集群 4、HDFS-HA 自动模式 4.1、HDFS-HA 自动故障转移工作机制 4.2、HDFS-HA 自动故障转移的集群规划 4.…