【QML-对话框】

QML编程指南 VX:hao541022348

  • 弹出类
    • Dialog
    • Drawer
    • FileDialog文件对话框 🎳
    • FontDialog字体对话框 🚴
    • ColorDialog 颜色对话框 🏊
    • MessageDialog 消息提示框 🐩

弹出类

Dialog

对话框是一种弹出式对话框,主要用于短期任务和与用户的简短交流。与ApplicationWindow和Page类似,Dialog被组织成三个部分:header、contenttem和footer。
在这里插入图片描述
按钮将根据用户的系统平台以适当的顺序放置。

标志含义
Dialog.Ok用AcceptRole定义的“OK”按钮。
Dialog.Open用AcceptRole定义的“打开”按钮。
Dialog.Save用AcceptRole定义的“保存”按钮。
Dialog.Cancel用RejectRole定义的“Cancel”按钮。
Dialog.Close用RejectRole定义的“关闭”按钮。
Dialog.Discard由DestructiveRole定义的“废弃”或“不保存”按钮,取决于平台。
Dialog.Apply由ApplyRole定义的“应用”按钮。
Dialog.Reset用ResetRole定义的“重置”按钮。
Dialog.RestoreDefaults使用ResetRole定义的“恢复默认值”按钮。
Dialog.Help用HelpRole定义的“帮助”按钮。
Dialog.SaveAll用AcceptRole定义的“Save All”按钮。
Dialog.Yes用YesRole定义的“Yes”按钮。
Dialog.YesToAll用YesRole定义的“Yes to All”按钮。
Dialog.NoNoRole定义的“No”按钮。
Dialog.NoToAllNoRole定义的“不接受所有”按钮。
Dialog.Abort用RejectRole定义的“Abort”按钮。
Dialog.Retry用AcceptRole定义的“重试”按钮。
Dialog.Ignore用AcceptRole定义的“Ignore”按钮。
Dialog.NoButton无效的按钮。
  Button{
      x: 270
      y: 184
      text: "点击";
      anchors.horizontalCenter: parent.horizontalCenter
      anchors.verticalCenter: parent.verticalCenter

      onClicked: {
          dialog.open()
      }
  }

  Dialog {
      id: dialog
      title: "Title"
      standardButtons: Dialog.Ok | Dialog.Cancel

      onAccepted: console.log("Ok clicked")
      onRejected: console.log("Cancel clicked")
  }

模态对话框
模态对话框阻止输入到对话框下的其他内容。打开模态对话框时,用户必须完成与对话框的交互并关闭它,然后才能访问同一窗口中的任何其他内容。其实就是设置的 modal 属性就好了

  Dialog {
      id: dialog
      modal: true
      standardButtons: Dialog.Ok
  }

非模态的对话框
非模态对话框是独立于对话框周围的其他内容进行操作的对话框。当打开一个非模态对话框时,用户可以在同一个窗口中与对话框和其他内容进行交互。

  Dialog {
      id: dialog
      modal: false
      standardButtons: Dialog.Ok
  }

Drawer

抽屉可以放置在内容项的四个边缘中的任何一个。下面的抽屉靠在窗口的左边缘。
从窗口左侧“拖”出抽屉,打开抽屉。

** 示例一 **
在这里插入图片描述

  import QtQuick 2.14
  import QtQuick.Controls 2.14

  ApplicationWindow {
      id: window
      visible: true

      Drawer {
          id: drawer
          width: 0.66 * window.width
          height: window.height

          Label {
              text: "左边抽屉内容"
              anchors.centerIn: parent
          }
      }
  }

** 示例二 **
在这里插入图片描述

  import QtQuick 2.14
  import QtQuick.Controls 2.14

  ApplicationWindow {
      id: window
      width: 200
      height: 228
      visible: true
      Drawer {
          id: drawer
          width: 0.66 * window.width
          height: window.height
      }
      Label {
          id: content
          text: "Aa"
          font.pixelSize: 96
          anchors.fill: parent
          verticalAlignment: Label.AlignVCenter
          horizontalAlignment: Label.AlignHCenter
          transform: Translate {
              x: drawer.position * content.width * 0.33
          }
      }
  }

FileDialog文件对话框 🎳

  import QtQuick 2.2
  import QtQuick.Dialogs 1.0

  FileDialog {
      id: fileDialog
      title: "Please choose a file"
      folder: shortcuts.home
      onAccepted: {
          console.log("You chose: " + fileDialog.fileUrls)
          Qt.quit()
      }
      onRejected: {
          console.log("Canceled")
          Qt.quit()
      }
      Component.onCompleted: visible = true
  }

https://blog.csdn.net/qq_43680827/article/details/130170675

FontDialog字体对话框 🚴

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.5
import QtQuick.Dialogs 1.3

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Button{
        id:button
        text: "字体选择"

        anchors.centerIn: parent

        onClicked: {
            fontDialog.open();
        }

        FontDialog {
              id: fontDialog
              title: "Please choose a font"
              font: Qt.font({ family: "Arial", pointSize: 24, weight: Font.Normal })
              onAccepted: {
                  console.log("You chose: " + fontDialog.font)
                  button.font = fontDialog.font;
              }
              onRejected: {
                  console.log("Canceled")
              }
          }
    }
}

ColorDialog 颜色对话框 🏊

  import QtQuick 2.2
  import QtQuick.Dialogs 1.0

  ColorDialog {
      id: colorDialog
      title: "Please choose a color"
      onAccepted: {
          console.log("You chose: " + colorDialog.color)
          Qt.quit()
      }
      onRejected: {
          console.log("Canceled")
          Qt.quit()
      }
      Component.onCompleted: visible = true
  }

MessageDialog 消息提示框 🐩

在这里插入图片描述

** 示例一 **
在这里插入图片描述

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.5
import QtQuick.Dialogs 1.3

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Button {
        id: button1
        x: 270
        y: 335
        text: qsTr("打开消息对话框")

        onClicked: {
            messageDialog.open();
        }

        MessageDialog {
            id: messageDialog
            title: "标题"
            icon: StandardIcon.Critical
            text: "文本内容"
            
            
            onAccepted: {
                console.log("And of course you could only agree.")
            }
        }
    }
}

** 示例二 **
在这里插入图片描述

MessageDialog {
      title: "Overwrite?"
      icon: StandardIcon.Question
      text: "file.txt already exists.  Replace?"
      detailedText: "To replace a file means that its existing contents will be lost. " +
          "The file that you are copying now will be copied over it instead."
      standardButtons: StandardButton.Yes | StandardButton.YesToAll |
          StandardButton.No | StandardButton.NoToAll | StandardButton.Abort
      Component.onCompleted: visible = true
      onYes: console.log("copied")
      onNo: console.log("didn't copy")
      onRejected: console.log("aborted")
  }

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

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

相关文章

4.13 构建onnx结构模型-Conv

前言 构建onnx方式通常有两种: 1、通过代码转换成onnx结构,比如pytorch —> onnx 2、通过onnx 自定义结点,图,生成onnx结构 本文主要是简单学习和使用两种不同onnx结构, 下面以 Conv 结点进行分析 方式 方法一…

蓝桥杯的学习规划

c语言基础: Python语言基础 学习路径:画框的要着重学习

补题与总结:leetcode第 377 场周赛

文章目录 写在最前面的复盘2977. 转换字符串的最小成本 II(Flody 爆搜优化->dp) 写在最前面的复盘 感谢leetcode,丰富了我为数不多的卡常经验 2是简单思维题,但卡常 4是爆搜优化,也卡常,补题时给卡麻了…

腾讯NCNN环境部署及pt到ncnn模型转换推理

该内容还未完整,笔记内容,后期补充。 一、模型转换 yolov5s v6.2训练的pt模型,直接导tourchscript,然后时候ncnn里面的pnnx工具直接转换为ncnn 二、部署环境 1.安装vunlkan 1.2.198.1版本,记得配置环境变量 2.安装…

SSH远程登陆服务器

截取自文章:SSH简介及两种远程登录的方法_ssh -CSDN博客 SSH的安装 SSH分为客户端 openssh-client 和服务器 openssh-server,可以利用以下命令确认电脑上是否安装了客户端和服务器。 dpkg -l | grep ssh 如果只是想远程登陆别的机器只需要安装客户端&…

【Web API系列】使用getDisplayMedia来实现录屏功能

文章目录 前言一、认识getD该处使用的url网络请求的数据。二、使用步骤1.使用方法一实现录屏2.使用方法二实现录屏3. 运行效果 延伸 前言 Web API经过长期的发展,尤其是最近,发展相当迅猛,现在已经支持很多功能了,一些原生就支持…

IDEA相关操作

目录 连接MySQL IDEA配置Maven 配置全局Maven 导入Maven项目 方法一 方法二 安装Mybatisx插件 连接MySQL 填写user和Password之后测试连接 如果是第一次连接需要联网下载数据库连接驱动,安装提示下载即可 如果显示如下错误需要更改时区 Server returns …

虚拟机安装windows2012和虚拟机安装国产系统deepin

虚拟机安装windows2012和虚拟机安装国产系统deepin 一.安装windows20121.安装VMWare虚拟机2.1.注意点一:VMWare虚拟网卡2.2.注意点二:配置虚拟网络编辑器3.安装配置Windows Server 2012 R23.1激活windows121.利用下面两个文件进行windows激活2.运行exe文…

5G NR无线蜂窝系统的信道估计器设计

文章目录 DMRS简介DMRS类型DMRS频域密度 信道估计实验仿真实验参数实验实验结论 DMRS简介 DMRS类型 类型A:DMRS位于时隙的第二个或第三个OFDM符号,由14个OFDM符号组成,当数据占据大部分时隙时使用A型映射。 类型B:用在URLLC中&a…

Linux 学习

复制/etc 文件夹到/mnt 目录 cp -r(-a) /etc /mnt回到上一次文件夹 cd -切换到当前用户的家目录_cd ~________________________如何查找ls 命令的位置_______which ls_________________________________请写出ll 命令中查看到的7大文件类型缩写 - s l p c b …

PDF编辑工具--Acrobat Pro DC 2023中文

Acrobat Pro DC 2023是一款功能强大的PDF编辑和管理软件,它可以帮助用户在创建、编辑、转换和共享PDF文档方面达到前所未有的高度。这款软件提供了丰富的编辑功能,使用户能够轻松添加注释、高亮、下划线、插入文本等,自由地编辑PDF文档。除了…

【MySQL变更】gh-ost原理解读

gh-ost简介 gh-ost是处理MySQL在线表结构变更的工具,与pt-osc 不同,gh-ost不会使用触发器。 gh-ost 可以进行测试,暂停,动态控制和重新配置,审计还有其他许多操作perks。 命名 最初它被命名为gh-osc:Git…

电子电气架构——车载ECU刷写工具vFlash简介

电子电气架构——车载ECU刷写工具vFlash简介 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值&a…

12.26 字符指针

一.基本应用 声明一个字符指针,char *ptr 初始化//在定义指针时,可以将它的初位置定义为空,即char *s NULL char *ptr "Hello"; // 指向字符串字面量的指针 char arr[] "World"; // 字符数组 char *ptr2 arr; // 指向字符数组的指针 访问指针指…

ALS-运动系统解构

角色握持 角色蓝图:将物体绑在手上 动作蓝图: 将握持动画截取一帧(explicit time时间写好) 角色替换 在原人物模型下面加一个骨骼体(先不用添加模型),重命名为bodymesh AI使用流程 新建一…

【OAuth2】:赋予用户控制权的安全通行证--代码模拟篇

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于OAuth2的相关操作吧 上篇已经讲了oauth2的相关知识,详解了oauth2的四种授权模式中的授权码模式,那么这一篇我们就来讲一下授权码模式的…

基于5G智能网关的智慧塔吊监测方案

塔吊是建筑施工中必不可少的设施,由于塔吊工作重心高、起重载荷大、人工视距/视角受限等因素,也使得塔吊在工作过程中着较多的危险因素。对此,可以部署基于工业5G智能网关搭建智慧塔吊安全监测系统,实现对塔吊运行的全局精细监测感…

NLP论文阅读记录 - 以大语言模型为参考学习总结

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作2.1文本生成模型的训练方法2.2 基于LLM的自动评估2.3 LLM 蒸馏和基于 LLM 的数据增强 三.本文方法3.1 Summarize as Large Language Models3.1.1 前提3.1.2 大型语言模型作为参考具有…

随记-语义分割

Semantic Segmentation 什么是语义分割全卷积网络FCN摘要 什么是语义分割 语义分割 Semantic Segmentation 旨在对图像的每个像素进行分类,将其分配给预定义的语义类别。 (检测图像中的物体并按属性分类) 实例分割 Instance Segmentation 实…

一台服务器​最大并发 tcp 连接数多少?65535?

首先,问题中描述的65535个连接指的是客户端连接数的限制。 在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三次握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢? 如何标…