【Qt QML 入门】TextField

TextField 是一个单行文本编辑器,它继承自TextInput,具备TextInput的所有功能,同时扩展了 TextInput 并增加了占位符文本功能和装饰选项。

 自定义文本输入框:

import QtQuick
import QtQuick.Window
import QtQuick.Controls

Window {
    id: win
    width: 800
    height: 600
    visible: true

    TextField {
        id: osdTextField
        height: font.pixelSize*1.8
        focus: true
        anchors.centerIn: parent
        selectByMouse: true
        background: Rectangle {
            implicitHeight: 40
            implicitWidth: 200
            border.color: "#21be2b"
        }
        color: "steelblue"
        placeholderTextColor: "gray" // 默认文字颜色

        font {
            family: "宋体"
            pixelSize: 16
            underline: false
        }
        verticalAlignment: TextInput.AlignVCenter
        inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhPreferLowercase | Qt.ImhSensitiveData | Qt.ImhNoPredictiveText
    //    renderType: Text.NativeRendering;  // 字体渲染类型 与本地平台有关,此处可使字体更加清晰
    }
}

属性解释:

import QtQuick
import QtQuick.Window
import QtQuick.Controls

Window {
    id: win
    width: 800
    height: 600
    visible: true

    TextField {
        width: 200
        height: 50
        anchors.centerIn: parent
        text: "this is a TextField control!"
    }
}

自定义默认显示文本和输入框样式:

import QtQuick
import QtQuick.Window
import QtQuick.Controls

Window {
    id: win
    width: 800
    height: 600
    visible: true

    TextField {
        id: tf
        width: 200
        height: 50
        anchors.centerIn: parent
        placeholderText: "this is a TextField control!"

        background: Rectangle {
            implicitWidth: 200
            implicitHeight: 40
            color: tf.enabled ? "transparent" : "#353637"
            border.width: 1
            border.color: tf.enabled ? "#21be2b" : "transparent"
        }
    }
}

background : Item

如果背景项没有明确指定大小,它将自动遵循控件的大小。在大多数情况下,不需要为背景项指定宽度或高度。大多数控件使用背景项的隐式大小来计算控件本身的隐式大小。如果你用自定义项替换背景项,你也应该考虑为它提供一个合理的隐式大小(除非它是一个像Image这样有自己隐式大小的项)。

focusReason : enumeration

保存上次焦点更改的原因。

Qt.MouseFocusReason: 焦点改变是因为鼠标的操作。

Qt.TabFocusReason: 焦点改变是因为用户按下了Tab键。

Qt.BacktabFocusReason: 焦点改变是因为用户执行了反Tab操作,可能是通过Shift+Tab或其他类似的组合键。

Qt.ActiveWindowFocusReason: 焦点改变是因为窗口系统使这个窗口变为活动或非活动状态。

Qt.PopupFocusReason: 焦点改变是因为应用程序打开或关闭了一个弹出窗口,该窗口抢夺或释放了键盘焦点。

Qt.ShortcutFocusReason: 焦点改变是因为用户输入了一个标签的快捷键。

Qt.MenuBarFocusReason: 焦点改变是因为菜单栏获得了焦点。

Qt.OtherFocusReason: 焦点改变是因为其他原因,通常是特定于应用程序的。

hoverEnabled : bool

文本字段是否接受悬停事件。默认值为false

hovered : bool

文本字段是否悬停

placeholderText : string

用户输入文本之前显示在TextField中的提示

placeholderTextColor : color

placeholderText 的颜色
 

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

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

相关文章

【Android】MVC与MVP的区别,MVP网络请求实践

一、MVC模式 目录 一、MVC模式二、MVP模式 1、MVP的简单应用 1.1 导入相关依赖包并设置权限1.2 实现Model1.2 实现Presenter1.3 实现View1.4分析项目结构和绑定过程1.5效果展示 2、MVP结合RxJava 一、MVC模式 MVC(Model(模型)——View(视图)——Controller(控制…

QT-坦克大战游戏

QT-坦克大战游戏 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "score.h" Score::Score(){health30; maxHealthhealth;QLabel *label1 new QLabel(this);label1->setFrameStyle(QFrame::Plain | QFrame::Box);label1->setStyle…

element-plus 结合Vue Router时出现的问题及解决方法之一

1、单文件应用element-plus中的Menu 侧边栏 <template><el-row class"tac"><el-col :span"12"><!-- <h5 class"mb-2">Custom colors</h5> --><el-menuactive-text-color"#ffd04b"background-…

Leetcode—2414.最长的字母序连续子字符串的长度【中等】

2023每日刷题&#xff08;六十&#xff09; Leetcode—2414.最长的字母序连续子字符串的长度 实现代码 class Solution { public:int longestContinuousSubstring(string s) {int ans 1;int t 1;for(int i 1; i < s.size(); i) {if(s[i] - s[i - 1] 1) {t;ans max(an…

大数据生态圈kafka在物联网中的应用测试

背景 由物联网项目中使用到了Tbox应用管理车辆&#xff0c;在上报数据的过程中&#xff0c;需要将终端产生的数据通过kafka的produce topic customer对数据进行处理后&#xff0c;放置到mysql中。完成数据二进制到json转换工作。 Kafka的使用 查看kafka的topic ./kafka-topi…

直角三角形判断_分支结构 C语言xdoj56

问题描述 设直角三角形两条直角边长度为a和b&#xff0c;斜边长度为c&#xff0c;则a&#xff0c;b&#xff0c;c满足a^2b^2c^2&#xff0c; 输入三个整数a&#xff0c;b&#xff0c;c&#xff0c;判断对应的三角形是不是直角三角形&#xff0c;不是则输出“no”&#xff0…

docker consul容器自动与注册

微服务&#xff08;容器&#xff09;注册与发现&#xff1a;是一种分布式的管理系统&#xff0c;定位服务的方法。 在传统架构当中&#xff0c;应用程序之间直连到已知服务&#xff0c;设备提供的网络&#xff1a;IP地址&#xff0c;基于tcp/ip&#xff0c;端口&#x…

Apache Flume(4):日志文件监控

1 案例说明 企业中应用程序部署后会将日志写入到文件中&#xff0c;可以使用Flume从各个日志文件将日志收集到日志中心以便于查找和分析。 2 使用Exec Soucre Exec Source Exec Source通过指定命令监控文件的变化&#xff0c;加粗属性为必须设置的。 属性名默认值说明chan…

借助文档控件Aspose.Words,在Java中比较 Word、PDF 和 PPT 文档

文档比较是各个领域的一项关键任务&#xff0c;包括法律、出版和内容管理。它确保准确跟踪和审查对合同、报告或法律协议等文档的更改。Java 开发人员经常寻求高效可靠的方法来执行文档比较&#xff0c;而Aspose提供了强大的解决方案。在这篇博文中&#xff0c;我们将探讨如何高…

npm详解

NPM&#xff08;Node Package Manager&#xff09;是Node.js的包管理工具&#xff0c;用于管理和共享被发布到模块仓库的JavaScript代码. NPM的定义 NPM是Node.js的默认包管理工具&#xff0c;它的功能包括安装、管理、卸载和发布开源模块。NPM提供了一个模块仓库&#xff0c;开…

牛客网BC100有序序列合并

思路&#xff1a; 运用归并排序&#xff1a; 假设给定我们两个都是升序的数组&#xff0c;要求我们要把这两个数组以升序的方式合并到一个数组中&#xff0c;则我们就可以在这两个数组中分别各拿取一个元素进行比较&#xff0c;将二者之间较小值先放在这个新数组中&#xff0c…

记一次clickhouse启动报错

clickhouse一次排错 clickhouse启动报错 报错&#xff1a; Application: Code: 210. DB::Exception: Listen [::]:8123 failed: Poco::Exception. Code: 1000, e.code() 0, DNS error: EAI: Address family for hostname not supported (version 23.3.1.2823 (official bui…

一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程

MongoDB 是由C语言编写的&#xff0c;是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下&#xff0c;添加更多的节点&#xff0c;可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档&#xff0c;数据结…

腾讯科技Hi Tech Day暨2023数字开物大会:智能涌现将通往无数的未来

腾讯科技讯 12月14日&#xff0c;以“智能涌现 数开万物”为主题的腾讯科技Hi Tech Day暨2023数字开物大会在北京国家会议中心召开&#xff0c;腾讯科技邀请知名院士、知名经济学家、知名大学教授、研究院院长、产业大咖、互联网大厂高管、知名科技领域头部企业高管、产业数字化…

网络协议 - UDP 协议详解

网络协议 - UDP 协议详解 UDP概述UDP特点UDP的首部格式UDP校验 參考文章 基于TCP和UDP的协议非常广泛&#xff0c;所以也有必要对UDP协议进行详解。 UDP概述 UDP(User Datagram Protocol)即用户数据报协议&#xff0c;在网络中它与TCP协议一样用于处理数据包&#xff0c;是一种…

【Spark精讲】Spark与MapReduce对比

目录 对比总结 MapReduce流程 ​编辑 MapTask流程 ReduceTask流程 MapReduce原理 阶段划分 Map shuffle Partition Collector Sort Spill Merge Reduce shuffle Copy Merge Sort 对比总结 Map端读取文件&#xff1a;都是需要通过split概念来进行逻辑切片&…

dbeaver导出数据为excel格式

dbeaver导出excel 目前数据的可选择只有这几种 恰好没有我们需要的excel模式,而我们需要数据一般都需要excel的 所以我们可以通过以下步骤得到我们的excel格式的数据集: 1.直接选csv模式,至于csv有陌生的小伙伴可以理解:CSV&#xff08;Comma-Separated Values&#xff09;是…

同时获取el-select的label和value

ui如下&#xff1a; 需求如下&#xff1a; 在点击确认的时候&#xff0c;将id和name都传给一个接口&#xff0c;但是ui只用展示name&#xff0c;name用v-model绑定给input框&#xff0c;但是id不知道怎么传给后端。 解决方法如下&#xff1a; vue中elementUi的el-select同时…

解决kernel32.dll丢失的修复方式,kernel32.dll预防错误的方法

kernel32.dll文件是电脑中的一个重要文件&#xff0c;如果电脑出现kernel32.dll丢失的错误提示&#xff0c;那么电脑中的一些程序将不能正常使用&#xff0c;那么出现这样的问题有什么解决办法呢&#xff1f;那么今天就和大家说说解决kernel32.dll丢失的修复方式。 一.kernel32…

MySql踩坑记录 DATE_FORMAT函数

使用场景&#xff1a;进行某一日期范围内的数据查询 查询结果&#xff1a;空&#xff0c;查询不到符合条件的数据。 Sql展示&#xff1a; SELECTa.dt_plan AS planDate,a.sd_status AS planStatus FROMc_hpl_plan a WHEREa.id_phr 6576727112f1a21849639530 -- 第一种写法…
最新文章