qml下拉條實現

qml下拉條實現

    • 代碼結構

代碼結構

Rectangle里面嵌套一個Flickable,然后下面是一個Rectangle,作為滑動的區域,給最外層的Rectangle的y加一個屬性動畫。滑動區域寫好onPressed和Onrelease即可。

import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15Window {visible: truewidth: 1024height: 480title: qsTr("Drag Icon")Rectangle{id:rootx:0y:0height:480width : 310border.color: "black"Flickable {id: flickablewidth: 300height: 420clip: truecontentWidth: contentItem.childrenRect.widthcontentHeight: contentItem.childrenRect.heightproperty bool show: trueColumn {id: contentColumnwidth: flickable.widthspacing: 10Repeater {model: 20delegate: Rectangle {width: flickable.width - 20height: 50color: index % 2 === 0 ? "lightblue" : "lightgreen"Text {anchors.centerIn: parenttext: "Item " + (index + 1)}}}}ScrollBar.vertical: ScrollBar {policy: ScrollBar.AlwaysOn}}Rectangle{id:recanchors.top: flickable.bottomanchors.topMargin: 20height : 20width : 300color:"red"property real startYproperty real threshold : 5property bool isopen : trueComponent.onCompleted: {rec.isopen = true}MouseArea{anchors.fill: parentonClicked: {// rec.startY = mouse.y;// var position = rec.mapToItem(null,mouse.x,mouse.y)// console.log("rec.startY = " + rec.startY)// console.log("position.y = " +position.y)// if(root.y ===0){//     yAnimation.to = -450//     yAnimation.start()// }else{//     yAnimation.to = 0//     yAnimation.start()// }}onPressed: {rec.startY = mouse.yconsole.log("onpressed startY = " + rec.startY)}onPressAndHold: {}onReleased: {var curY = mouse.yconsole.log("curY = " + curY)// console.log("curY = " + curY)// console.log("curY-rec.startY = " + (curY-rec.startY))// console.log("rec.startY-curY= " + (rec.startY-curY))console.log("rec.isopen = " + rec.isopen)if(rec.isopen){if((rec.startY-curY)>rec.threshold){// 開始上滑rec.isopen  = falseyAnimation.to = -450yAnimation.start()}}else{if((curY-rec.startY)>rec.threshold){// 開始下滑rec.isopen = trueyAnimation.to = 0yAnimation.start()}}console.log("rec.isopen = " + rec.isopen)}onPositionChanged:{}}}Button {id: btntext: "btn"anchors.top: rec.bottomonClicked: {console.log("flickable.contentHeight = " + flickable.contentHeight)console.log("contentColumn.height = " + contentColumn.height)console.log("root.y = " + root.y)console.log("rec.isopen = " + rec.isopen)console.log("rec.startY = " + rec.startY)}}NumberAnimation {id: yAnimationtarget: rootproperty: "y"duration: 200}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15295.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15295.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15295.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從《紅樓夢》的視角看大模型知識庫 RAG 服務的 Rerank 調優

背景介紹 在之前的文章 有道 QAnything 源碼解讀 中介紹了有道 RAG 的一個主要亮點在于對 Rerank 機制的重視。 從目前來看,Rerank 確實逐漸成為 RAG 的一個重要模塊,在這篇文章中就希望能講清楚為什么 RAG 服務需要 Rerank 機制,以及如何選…

Redisson-分布式鎖單Redis節點模式

Redisson-分布式鎖單Redis節點模式 為什么要用分布式鎖? 使用分布式鎖的主要目的是為了解決多線程或多進程并發訪問共享資源時可能出現的競爭條件和數據一致性問題。舉一些實際場?: 數據庫并發控制:在分布式系統中,多個節點同…

虛擬機上部署java微服務

在Windows服務器上安裝Ubuntu系統,先安裝虛擬機,然后再虛擬機上安裝Ubuntu系統 啟動虛擬機上的Ubuntu系統,然后安裝jdk。安裝好的Ubuntu系統是帶桌面版的,需要打開 “終端” 控制臺,通過命令行交互的方式部署程序&…

git 合并多個commit 使分支保持一次提交

1.控制臺輸入 git log 查看commit歷史 找到歷史提交sha 2.控制臺輸入 git rebase -i d0c5de8f7ca8e58fef347b36dd6b0f42f551cdb4 進入變基 3.輸入英文i進入VM輸入模式 4.保留第一行的pick 后面的pick改為s 5.esc退出輸入模式 6.輸入:wq保存退出 7.輸入英文i進入VM輸入模式…

從0開始實現一個博客系統 (SSM 實現)

相關技術 Spring Spring Boot Spring MVC MyBatis Html Css JS 實現功能 用戶注冊 - 密碼加鹽加密 (md5 加密)前后端用戶信息存儲 - 令牌技術用戶登錄 - (使用 攔截器 做登錄校驗)博客的增刪改查后端數據返回前端, 采用 SpringBoot 做統一功能處理和統一異常處理 數據…

軟考-程序員 知識點與部分真題梳理

軟考-程序員 知識點與部分真題梳理 參照《程序員教程》第五版劃分類別; 持續更新中… 計算機系統基礎知識 如何理解和處理浮點數的加減法運算 在計算機科學中,處理浮點數的表示和運算是基礎且關鍵的,尤其是在進行科學計算、圖形處理和數據分…

V2I(車與基礎設施)介紹

V2I(車與基礎設施)介紹 一、V2I技術概述 V2I(Vehicle-to-Infrastructure)技術,全稱汽車與基礎設施通訊,也被稱為信號燈系統。它通過無線通信技術,為車載智能交通運輸系統設立了專門的通信頻段…

【網絡】為什么udp協議報頭有長度字段,而tcp沒有

引言: 在網絡通信中,UDP(用戶數據報協議)和TCP(傳輸控制協議)是兩種常用的傳輸層協議。它們在設計和功能上有一些不同之處,其中之一就是報頭中的長度字段。本文將深入探討UDP和TCP協議中長度字…

SpringCloud Alibaba詳解:打造高可用的分布式系統

SpringCloud Alibaba是一個基于Spring Cloud的微服務開發框架,它集成了阿里巴巴的一系列中間件和工具,能夠快速構建高可用的分布式系統。在本文中,將詳細介紹如何使用SpringCloud Alibaba來打造高可用的分布式系統,并通過代碼案例…

第十一課,end關鍵字、簡單while循環嵌套、初識for循環

一,end關鍵字 end關鍵字用于在print輸出的內容后面聲明結束的字符,我們之前學過并且十分了解print是默認輸出內容之后跟著換行的,如果我們不希望換行而希望使用其它字符來代替換行,就可以用end關鍵字來實現 特殊的,en…

k8s筆記 | 高度調度

CronJob計劃任務 簡介:在k8s中周期性運行計劃任務,與linux中的crontab相同;注意點 CornJob執行的時間是controller-manager的時間,所以一定要確保controller-manager的時間是準確的,另外cornjob cron表達式 文章參…

xjoi題庫一級三段題解(c語言版)

浮點數 時間:0.2 空間:32M 題目描述: 小鸚鵡正在學習浮點數,你跟他說一個浮點數,他立刻就能學會。 輸入一個浮點數,輸出這個浮點數。 輸入格式: 輸入一個浮點數 輸出格式: 輸出一個…

2024.5.25AcWing刷題記錄-排序篇

一、786. 第k個數 - AcWing題庫 三路快速排序 import random def func(nums, start, end):if start > end:return idx random.randint(start, end)base nums[idx]i, j, m start, start, end 1while j < m:if nums[j] < base:nums[i], nums[j] nums[j], nums[i]…

Redis機制-Redis緩存穿透,擊穿,雪崩理解等問題的理解和學習

目錄 一 緩存穿透問題 二 緩存擊穿問題 三 緩存雪崩問題&#xff1a; 圖1 正常的Redis緩存流程 一 緩存穿透問題 我們都知道Redis是一個存儲鍵值對的非關系型數據庫&#xff0c;那么當用戶進行查詢的時候&#xff0c;勢必會從前端發起請求&#xff0c;從而數據從Redis緩存…

內網穿透--Frp-簡易型(速成)-上線

免責聲明:本文僅做技術交流與學習... 目錄 frp項目介紹: 一圖通解: ?編輯 1-下載frp 2-服務端(server)開啟frp口 3-kali客戶端(client)連接frp服務器 4-kali生成馬子 5-kali監聽 6-馬子執行-->成功上線 frp項目介紹: GitHub - fatedier/frp: A fast reverse proxy…

論文精讀-SwinIR Image Restoration Using Swin Transformer

論文精讀-SwinIR: Image Restoration Using Swin Transformer SwinIR:使用 Swin Transformer進行圖像恢復 參數量&#xff1a;SR 11.8M、JPEG壓縮偽影 11.5M、去噪 12.0M 優點&#xff1a;1、提出了新的網絡結構。它采用分塊設計。包括淺層特征提取&#xff1a;cnn提取&#…

Verilog實戰學習到RiscV - 1 : Yosys 綜合

Yosys 綜合 實例 一般 FPGA IDE 的第一步都是RTL 綜合&#xff08;Synthesis&#xff09;。之后就能看到數字電路圖了。然后可以做RTL 級的仿真模擬。 直接上代碼&#xff0c;這里我們看一個簡單的加法器來學習。 module adder(input [7:0] a,input [7:0] b, input …

Java延時隊列取消未支付的訂單 之 重啟服務任務丟失

一、定義延遲任務類 package com.activity.domain;import java.util.concurrent.Delayed; import java.util.concurrent.TimeUnit;/*** 延遲任務類*/ public class DelayedCancellation implements Delayed {private String order;private final long delayTime; // 延遲時間p…

鏈表類型的無界阻塞隊列-LinkedBlockingQueue

一:LinkedBlockingQueue介紹 1:LinkedBlockingQueue是一個基于鏈表實現的阻塞隊列,默認情況下,該阻塞隊列的大小為Integer.MAX_VALUE,由于這個數值特別大,所以 LinkedBlockingQueue 也被稱作無界隊列,代表它幾乎沒有界限,隊列可以隨著元素的添加而動態增長,但是如果沒…

智能體之斯坦福AI小鎮(Generative Agents: Interactive Simulacra of Human Behavior)

相關代碼地址見文末 論文地址&#xff1a;Generative Agents: Interactive Simulacra of Human Behavior | Proceedings of the 36th Annual ACM Symposium on User Interface Software and Technology 1.概述 論文提出了一種多個智能體進行協同&#xff0c;進而模擬可信的人…