Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Hold and Drag Not Working for Slider In Mobile Browser

Hold and Drag Not Working for Slider In Mobile Browser

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
1 Posts 1 Posters 156 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Sajad Ganie
    wrote on last edited by
    #1

    when i try to drag the slider in mobile browser it's not working below is the code i am using same i am using in the PC browser and the slider is working properly.
    import QtQuick 2.9
    import QtQuick.Controls 2.3
    import QtGraphicalEffects 1.0

    Rectangle
    {
    id: main
    color: "transparent"
    border.width: 2
    border.color: "transparent"
    opacity: mainrect.opacity

    property int tickmarks : mainrect.sstepticks
    
    onTickmarksChanged:
    {
    	var tickObj
    
    	if(tickObj)
    		tickObj.destroy()
    
    	if((mainrect.sstepticks>0) && mainrect.sshowsld)
    	{
    		tickObj=Qt.createQmlObject('import QtQuick 2.9
    		Rectangle
    		{
    			height: sld0Item.height
    			width: sld0Item.width
    			color: "transparent"
    			Grid
    			{
    				id: cover
    				x: (mainrect.isvertical)?0:(hndlRectSld0.width/2)+idsld0.leftPadding
    				y:(mainrect.isvertical)?(hndlRectSld0.height/2)+idsld0.topPadding:0
    				height: (mainrect.isvertical)?(parent.height-hndlRectSld0.height-idsld0.topPadding-idsld0.bottomPadding):parent.height
    				width: (mainrect.isvertical)?parent.width:(parent.width-hndlRectSld0.width-idsld0.leftPadding-idsld0.rightPadding)
    				rows:(mainrect.isvertical)?mainrect.sstepticks:1
    				columns:(mainrect.isvertical)?1:mainrect.sstepticks
    				spacing:(mainrect.isvertical)?(height-(2*(mainrect.sstepticks)))/(mainrect.sstepticks-1):(width-(2*(mainrect.sstepticks)))/(mainrect.sstepticks-1)
    
    				Repeater
    				{
    					model: mainrect.sstepticks
    					Rectangle
    					{
    						width:(mainrect.isvertical)?parent.width:2
    						height: (mainrect.isvertical)?2:parent.height
    						color: mainrect.lnclr
    					}
    				}
    			}
    		}',sld0Item)
    	}
    }
    
    Image
    {
    	id:minus
    	asynchronous: true
    	enabled: !(mainrect.isDesignMode)
    	visible: sshowbtn
    	height:
    	{
    		if(sshowbtn && sshowsld)
    			(mainrect.isvertical)?main.height*0.15:main.height
    		else if(sshowbtn && !sshowsld)
    			(mainrect.isvertical)?main.height*0.5:main.height
    	}
    	width:
    	{
    		if(sshowbtn && sshowsld)
    			(mainrect.isvertical)?main.width:main.width*0.15
    		else if(sshowbtn && !sshowsld)
    			(mainrect.isvertical)?main.width:main.width*0.5
    	}
    	x:
    	{
    		if(sshowbtn && sshowsld)
    		{
    			0
    		}
    		else if(sshowbtn && !sshowsld)
    		{
    			(mainrect.isvertical)?0:0
    		}
    		else if(!sshowbtn && sshowsld)	//V1.01
    		{
    			(mainrect.vertical)?0:0
    		}
    	}
    	y:
    	{
    		if(sshowbtn && sshowsld)
    		{
    			(mainrect.isvertical)?minus.height+idsld0.height:0
    		}
    		else if(sshowbtn && !sshowsld)
    		{
    			(mainrect.isvertical)?plus.height:0
    		}
    		else if(!sshowbtn && sshowsld)	//V1.01
    		{
    			(mainrect.isvertical)?plus.height:0
    		}
    	}
    	opacity: mainrect.opacity
    	source: (idsld0.from<idsld0.to)? mainrect.minusBtnImage:mainrect.plusBtnImage
    	fillMode: Image.Stretch
    	scale: (sshowbtn && !sshowsld)?0.9:0.8
    
    	MouseArea
    	{
    		height: parent.height
    		width: parent.width
    		enabled: edt
    		onClicked:
    		{
    			if(!userLoginData.userlogin_accesslevel(accesslvl))
    				createPopUpObject()
    			else
    			{
    				if(idsld0.from<idsld0.to)
    				{
    					if(idsld0.value>idsld0.from && idsld0.value<=idsld0.to)
    						if(mainrect.rwEnable)
    						{
    							mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value-1).toFixed(0))
    							mainrect.readwrite = true
    						}
    				}
    				else
    				{
    					if(idsld0.value<=idsld0.from && idsld0.value>idsld0.to)
    						if(mainrect.rwEnable)
    						{
    							mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value+1).toFixed(0))
    							mainrect.readwrite = true
    						}
    				}
    			}
    		}
    		onPressed:
    		{
    			if(mainrect.fillIndicator)
    				minus.scale=1
    		}
    
    		onReleased:
    		{
    			if(mainrect.fillIndicator)
    				(sshowbtn && !sshowsld)?minus.scale=0.9:minus.scale=0.8
    		}
    	}
    }
    
    Image
    {
    	id:plus
    	asynchronous: true
    	enabled: !(mainrect.isDesignMode)
    	visible: sshowbtn
    	height:
    	{
    		if(sshowbtn && sshowsld)
    			(mainrect.isvertical)?main.height*0.15:main.height
    		else if(sshowbtn && !sshowsld)
    			(mainrect.isvertical)?main.height*0.5:main.height
    	}
    	width:
    	{
    		if(sshowbtn && sshowsld)
    			(mainrect.isvertical)?main.width:main.width*0.15
    		else if(sshowbtn && !sshowsld)
    			(mainrect.isvertical)?main.width:main.width*0.5
    	}
    	x:
    	{
    		if(sshowbtn && sshowsld)
    		{
    			(mainrect.isvertical)?0:minus.width+idsld0.width
    		}
    		else if(sshowbtn && !sshowsld)
    		{
    			(mainrect.isvertical)?0:minus.width
    		}
    		else if(!sshowbtn && sshowsld)	//V1.01
    		{
    			(mainrect.isvertical)?0:minus.width
    		}
    	}
    	y:
    	{
    		if(sshowbtn && sshowsld)
    		{
    			0
    		}
    		else if(sshowbtn && !sshowsld)
    		{
    			(mainrect.isvertical)?0:0
    		}
    		else if(!sshowbtn && sshowsld)	//V1.01
    		{
    			(mainrect.isvertical)?0:0
    		}
    	}
    	opacity: mainrect.opacity
    	source: (idsld0.from<idsld0.to)?mainrect.plusBtnImage:mainrect.minusBtnImage
    	fillMode: Image.Stretch
    	scale: (sshowbtn && !sshowsld)?0.9:0.8
    
    	MouseArea
    	{
    		height: parent.height
    		width: parent.width
    		enabled: edt
    		onClicked:
    		{
    			if(!userLoginData.userlogin_accesslevel(accesslvl))
    				createPopUpObject()
    			else
    			{
    				if(idsld0.from<idsld0.to)
    				{
    				if(idsld0.value>=idsld0.from && idsld0.value<idsld0.to)
    					if(mainrect.rwEnable)
    					{
    						mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value+1).toFixed(0))
    						mainrect.readwrite = true
    					}
    				}
    				else
    				{
    					if(idsld0.value<idsld0.from && idsld0.value>=idsld0.to)
    						if(mainrect.rwEnable)
    						{
    							mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value-1).toFixed(0))
    							mainrect.readwrite = true
    						}
    				}
    			}
    		}
    
    		onPressed:
    		{
    			if(mainrect.fillIndicator)
    				plus.scale = 1
    		}
    
    		onReleased:
    		{
    			if(mainrect.fillIndicator)
    				(sshowbtn && !sshowsld)?plus.scale=0.9:plus.scale=0.8
    		}
    	}
    }
    
    Slider
    {
    	id:idsld0
    	opacity: mainrect.opacity
    	enabled: (isDesignMode) || (!edt)?false:true
    	visible: sshowsld
    	height:
    	{
    		if(sshowbtn && sshowsld)
    			(mainrect.isvertical)?main.height-(2*minus.height):main.height*0.9
    		else if(!sshowbtn && sshowsld)
    			main.height*0.9
    	}
    	width:
    	{
    		if(sshowbtn && sshowsld)
    			(mainrect.isvertical)?main.width*0.9:main.width-(2*minus.width)
    		else if(!sshowbtn && sshowsld)
    			main.width*0.9
    	}
    	x:
    	{
    		if(sshowbtn && sshowsld)
    			(mainrect.isvertical)?(parent.width-idsld0.width)/2:minus.width
    		else if(!sshowbtn && sshowsld)
    			main.width*0.05
    	}
    	y:
    	{
    		if(sshowbtn && sshowsld)
    			(mainrect.isvertical)?plus.height:(parent.height-idsld0.height)/2
    		else if(!sshowbtn && sshowsld)
    			main.height*0.05
    	}
    	orientation: (width>height)?Qt.Horizontal:Qt.Vertical
    	to: smaxval
    	from: sminval
    	live: true
    	stepSize: (sstepticks)?(smaxval-sminval)/(sstepticks-1):0
    	snapMode: (sstepticks)?"SnapAlways":"NoSnap"
    	property bool accFlag: true
    	onPressedChanged: {
    	console.log("onPressedchanged===================")
    		if(pressed)
    		{
    			if(!userLoginData.userlogin_accesslevel(accesslvl))
    			{
    				createPopUpObject()
    				accFlag = false
    			}
    			else{//console.log("realeased=============")
    				accFlag = true}
    		}
    	}
    
    	onValueChanged:
    	{console.log("onValueChanged===========")
    		if(pressed)
    		{
    			if(accFlag == false)
    			{
    				value = Qt.binding(function(){
    					if(mainrect.isDesignMode)
    					{
    						if(sminval<smaxval)
    							return (sminval+((smaxval-sminval)/3))
    						else
    							return (smaxval+((sminval-smaxval)/3))
    					}
    					else
    						return dta
    				})
    			}
    			else
    			{
    				if(mainrect.rwEnable)
    				{
    					mainrect.value_inp = applicationData.OUT_FormatData(mainrect.fmt,mainrect.regsz,mainrect.objType,Number(idsld0.value).toFixed(0))
    					mainrect.readwrite = true
    				}
    			}
    		}
    	}
    	value:
    	{
    		if(mainrect.isDesignMode)
    		{
    			if(sminval<smaxval)
    				(sminval+((smaxval-sminval)/3))
    			else
    				(smaxval+((sminval-smaxval)/3))
    		}
    		else
    			dta
    	}
    	/*SliderStyle*/
    	background:Item
    	{
    		id:sld0Item
    		height: idsld0.height
    		width: idsld0.width
    
    		Rectangle
    		{
    			id: middleLine
    			anchors.centerIn: parent
    			width:
    			{
    				if(mainrect.isvertical)
    					3
    				else
    					parent.width
    			}
    			height:(mainrect.isvertical)?parent.height:3
    			color: mainrect.lnclr
    			radius: (mainrect.isvertical)?width/2:height/2
    		}
    	}
    
    	handle:Image
    	{
    		id:hndlRectSld0
    		x:(isvertical)?idsld0.leftPadding + (idsld0.availableWidth/2) - (width/2):idsld0.visualPosition * (idsld0.availableWidth - width)+idsld0.rightPadding
    		y:(isvertical)? idsld0.bottomPadding + idsld0.visualPosition * (idsld0.availableHeight - height):idsld0.topPadding + (idsld0.availableHeight/2) - (height/2)
    		height:
    		{
    			if((sshowsld && sshowbtn)||(sshowsld && !sshowbtn))
    				(mainrect.isvertical)?main.height*0.15:main.height
    		}
    		width:
    		{
    			if((sshowsld && sshowbtn)||(sshowsld && !sshowbtn))
    				(mainrect.isvertical)?main.width:main.width*0.15
    		}
    		source: mainrect.knbimage
    		fillMode: mainrect.knbflmde
    		scale: (idsld0.pressed && mainrect.fillIndicator)?1:0.8
    	}
    }
    

    }

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved