你应该为重画的控件写一个新类,继承自 QWidget,并重写 paintEvent 方法。

参考

# -*- coding: utf-8 -*-

import sys

from PyQt5.QtWidgets import (

QApplication, QWidget, QVBoxLayout,

QScrollArea,

)

from PyQt5.QtGui import QPainter, QColor, QPen

from PyQt5.QtCore import Qt

class PaintWidget(QWidget):

def __init__(self):

super().__init__()

def paintEvent(self, event):

qp = QPainter()

qp.begin(self)

qp.setPen(QPen(QColor(0, 0, 255), 3, Qt.DotLine))

r = event.rect()

qp.drawLine(r.left(), r.top(), r.right(), r.bottom())

qp.end()

class TopWidget(QWidget):

def __init__(self):

super().__init__()

self.setUI()

self.show()

def setUI(self):

self.setGeometry(300, 300, 800, 400)

self.topFiller = PaintWidget()

self.topFiller.setMinimumSize(1200, 2000)

self.scroll = QScrollArea()

self.scroll.setWidget(self.topFiller)

self.vbox = QVBoxLayout()

self.vbox.addWidget(self.scroll)

self.setLayout(self.vbox)

def keyPressEvent(self, event):

if event.key() == Qt.Key_Escape:

self.close()

if __name__ == '__main__':

app = QApplication([])

window = TopWidget()

sys.exit(app.exec_())

pyqt5 qscrollarea到达_PyQt5如何用QPainter在QScrollArea上画线?相关推荐

  1. pyqt5 图像上划线_PyQt5如何用QPainter在QScrollArea上画线?

    你应该为重画的控件写一个新类,继承自 QWidget,并重写 paintEvent 方法. 参考 # -*- coding: utf-8 -*- import sys from PyQt5.QtWid ...

  2. pyqt5 qscrollarea到达_pyqt5 QScrollArea设置在自定义侧(任何位置)

    本例设置为垂直左侧scroll 主要思想是利用一个长度为0的mid_frame,高度为待设置qwidget的高度,用mid_frame的moveEvent事件驱动qwidget的move 我项目的效果 ...

  3. pyqt5 图像上划线_PyQt5 绘制画 线(鼠标笔)

    文章目录 1.简介 2.功能实现 1.简介 通过多鼠标事件的监听.绘制事件的监听,实现一个鼠标笔 2.功能实现 # -*- coding: utf-8 -*- """ [ ...

  4. PyQt5 绘制画 线(鼠标笔)

    文章目录 1.简介 2.功能实现 1.简介 通过多鼠标事件的监听.绘制事件的监听,实现一个鼠标笔 2.功能实现 # -*- coding: utf-8 -*-"""[简介 ...

  5. 如何用git命令行上传本地代码到github

    如何用git命令行上传本地代码到github 2016年09月19日 16:10:36 阅读数:9337 注意:安装的前提条件是配置好git的相关环境或者安装好git.exe,此处不再重点提及 上传的 ...

  6. python 下载网页文件_『如何用python把网页上的文本内容保存下来』python爬取网页内容教程...

    python爬虫:如何爬网页数据并将其放在文本 用requests库 r=r.requests.get(url) r.concent 保存到文件里就行了 如何用python把网页上的文本内容保存下来 ...

  7. java连接电脑可以把整个文件下载到手机里然后直接用么,如果是山寨机支持java如何用电脑往手机上下载软件...

    如果是山寨机支持java如何用电脑往手机上下载软件 浏览次数:6388次悬赏分:0|解决时间:2009-4-26 09:09|提问者:李佳朔 最佳答案 目前国内的大多数国产手机均支持mpr格式软件!也 ...

  8. typora 公式_如何用Typora写Markdown上传至知乎

    如何用Typora写Markdown上传至知乎 [TOC] 起因 知乎自带的编辑器太恶心了,于是想要在typora本地编辑之后,使用知乎的上传md功能进行同步,但是发现会缺失图像和公式.优化思路如下: ...

  9. 如何用Git将代码上传到GitHub

    如何用Git将代码上传到GitHub 前言 本文以windows为例教大家如何使用Git把代码上传到GitHub. 下载工具 前往官网(https://gitforwindows.org/ )下载Gi ...

最新文章

  1. 今天看到两个题 写出来思考一下
  2. 对代理ARP技术的误读、无法完成代理ARP实验的故障分析
  3. ThreadLocal使用和原理
  4. 【项目管理】ITTO-沟通管理
  5. Listener--------监听器
  6. 优化 | 利用SciPy求解非线性规划问题
  7. Redis——缓存击穿、穿透、雪崩
  8. python抽取html中的链接
  9. day7-mysql引擎和索引
  10. SAP财务管理大全-采购收货-标准成本法 移动平均价
  11. GB2312、GBK汉字字库偏移地址的计算
  12. 【Unity】入门级Unity安装教程
  13. ADC知识(2)——直流参数(输入电压参考,参考电流输入,积分非线性误差,差分非线性误差)
  14. 职场常用问题分析与管理方法
  15. 小波模极大值用于图像融合
  16. 图书馆管理系统SRS
  17. npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.com/address-pares - Not found
  18. 乐理基础知识-4.音程
  19. 程序员:品《漱玉词》看李清照生活审美
  20. [转载]穿透还原卡和还原软件

热门文章

  1. Linux下安装配置vsftpd
  2. java调用机器上的shell脚本
  3. html5访问电脑或手机摄像头
  4. Exchange2010部署边缘服务器
  5. SQL Server游标
  6. 如何解决无法显示隐藏文件文件夹
  7. 网页HTML5制作flex布局骰子,CSS3的Flexbox骰子布局的实现及分析
  8. python爬虫脚本ie=utf-8_分享一个Python爬虫小脚本
  9. redistemplate 设置失效时间_开发新技能之利用Redis高级用法监听过期键处理失效的订单...
  10. 如何将本地MySQL提交到网络_如何把本地MySql数据库移植到远程服务器上