欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyQt5實(shí)現(xiàn)讓QScrollArea支持鼠標(biāo)拖動(dòng)的操作方法

 更新時(shí)間:2019年06月19日 09:03:51   作者:StatFs  
今天小編就為大家分享一篇PyQt5實(shí)現(xiàn)讓QScrollArea支持鼠標(biāo)拖動(dòng)的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

如下所示:

#!/usr/bin/evn python3
# -*- coding: utf-8 -*-
 
import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QScrollArea, QLabel)
from PyQt5.QtCore import QEvent
 
 
class TestWindow(QWidget):
	def __init__(self):
		super(TestWindow, self).__init__()
		self.resize(800, 600)
		self.move(0, 0)
		# self.setMouseTracking(False)
		self.last_time_move = 0
		self.initUI()
 
	def initUI(self):
		self.central_widget = QWidget(self)
 
		self.scroll_area = QScrollArea(self)
		self.scroll_area.setGeometry(0, 0, 400, 400)
		self.scroll_area.setWidgetResizable(True)
		self.scroll_bar = self.scroll_area.verticalScrollBar()
 
		self.scroll_contents = QWidget()
		self.scroll_contents.setGeometry(0, 0, 400, 800)
		self.scroll_contents.setMinimumSize(380, 1000)
 
		self.label_1 = QLabel(self.scroll_contents)
		self.label_1.move(50, 100)
		self.label_1.setText("HelloRyan")
 
		self.label_2 = QLabel(self.scroll_contents)
		self.label_2.move(50, 200)
		self.label_2.setText("你好")
 
		self.label_3 = QLabel(self.scroll_contents)
		self.label_3.move(50, 300)
		self.label_3.setText("-----------")
 
		self.label_4 = QLabel(self.scroll_contents)
		self.label_4.move(50, 400)
		self.label_4.setText("542543255235432543252")
 
		self.label_5 = QLabel(self.scroll_contents)
		self.label_5.move(50, 500)
		self.label_5.setText("5432543262542")
 
		self.label_6 = QLabel(self.scroll_contents)
		self.label_6.move(50, 600)
		self.label_6.setText("4325432532")
 
		self.scroll_area.setWidget(self.scroll_contents)
		self.scroll_area.installEventFilter(self)
 
	# def mouseMoveEvent(self, event):
	# 	if event.pos().x() > 0 and event.pos().x() < 400 and event.pos().y() > 0 and event.pos().y() < 400:
	# 		if self.last_time_move == 0:
	# 			self.last_time_move = event.pos().y()
	#
	# 		distance = self.last_time_move - event.pos().y()
	# 		self.scroll_bar.setValue(self.scroll_bar.value() + distance)
	#
	# 		self.last_time_move = event.pos().y()
	# 		print("move%d" % event.pos().y())
	#
	# def mouseReleaseEvent(self, event):
	# 	self.last_time_move = 0
	# 	print("up")
 
	def eventFilter(self, source, event):
		if event.type() == QEvent.MouseMove:
			print(event.pos().y())
			
			if self.last_time_move == 0:
				self.last_time_move = event.pos().y()
				
			distance = self.last_time_move - event.pos().y()
			self.scroll_bar.setValue(self.scroll_bar.value() + distance)
			self.last_time_move = event.pos().y()
			
		elif event.type() == QEvent.MouseButtonRelease:
			self.last_time_move = 0
		return QWidget.eventFilter(self, source, event)
 
 
if __name__ == "__main__":
	app = QApplication(sys.argv)
	test = TestWindow()
	test.show()
	sys.exit(app.exec_())

以上這篇PyQt5實(shí)現(xiàn)讓QScrollArea支持鼠標(biāo)拖動(dòng)的操作方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python+django+selenium搭建簡(jiǎn)易自動(dòng)化測(cè)試

    python+django+selenium搭建簡(jiǎn)易自動(dòng)化測(cè)試

    這篇文章主要介紹了python+django+selenium搭建簡(jiǎn)易自動(dòng)化測(cè)試,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample?Dropout方式

    PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample?Dropout方式

    這篇文章主要介紹了PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample?Dropout方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python使用smtplib?實(shí)現(xiàn)單發(fā)和群發(fā)郵件驗(yàn)證碼

    Python使用smtplib?實(shí)現(xiàn)單發(fā)和群發(fā)郵件驗(yàn)證碼

    這篇文章主要介紹了Python使用smtplib?實(shí)現(xiàn)單發(fā)和群發(fā)郵件驗(yàn)證碼,文章通過使用?smtplib?模塊在?Python?中發(fā)送電子郵件,需要的小伙伴可以參考一下
    2022-05-05
  • Python Unittest ddt數(shù)據(jù)驅(qū)動(dòng)的實(shí)現(xiàn)

    Python Unittest ddt數(shù)據(jù)驅(qū)動(dòng)的實(shí)現(xiàn)

    本文主要介紹了Python Unittest ddt數(shù)據(jù)驅(qū)動(dòng)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python @property裝飾器原理解析

    Python @property裝飾器原理解析

    這篇文章主要介紹了Python @property裝飾器原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 利用Python實(shí)現(xiàn)讀取照片的Exif信息

    利用Python實(shí)現(xiàn)讀取照片的Exif信息

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)讀取照片的Exif信息,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,有需要的小伙伴可以參考下
    2023-10-10
  • Python中aiohttp的簡(jiǎn)單使用

    Python中aiohttp的簡(jiǎn)單使用

    aiohttp是Python中一個(gè)強(qiáng)大的異步HTTP客戶端和服務(wù)器框架,它可以幫助開發(fā)者快速構(gòu)建高性能的Web應(yīng)用程序。本文將介紹aiohttp的基本概念、使用方法和常見應(yīng)用場(chǎng)景,幫助讀者更好地了解和使用這個(gè)優(yōu)秀的框架
    2023-03-03
  • python基于ID3思想的決策樹

    python基于ID3思想的決策樹

    這篇文章主要為大家詳細(xì)介紹了python基于ID3思想的決策樹,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Pytorch學(xué)習(xí)之torch用法----比較操作(Comparison Ops)

    Pytorch學(xué)習(xí)之torch用法----比較操作(Comparison Ops)

    這篇文章主要介紹了Pytorch學(xué)習(xí)之torch用法----比較操作(Comparison Ops),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 通過案例解析python鴨子類型相關(guān)原理

    通過案例解析python鴨子類型相關(guān)原理

    這篇文章主要介紹了通過案例解析python鴨子類型相關(guān)原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論