文档章节

PyQt5 控件学习(一个一个学习之QRubberBand)

o
 osc_wws45aot
发布于 2019/08/22 09:45
字数 290
阅读 14
收藏 0
def

精选30+云产品,助力企业轻松上云!>>>

QRubberBand 继承图:

 

 

QRubberBand 描述:

它一般都是结合鼠标来完成某种需求。

 

 

QRubberBand 继承:

它是继承自QWidget 的

 

QRubberBand 功能作用:

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QRubberBand的学习")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        rubberBand = QRubberBand(QRubberBand.Rectangle,self)
        rubberBand.setGeometry(60,60,80,80)
        print(rubberBand.isVisible())
        rubberBand.show()




if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

 

案例:

from PyQt5.Qt import *  # 刚开始学习可以这样一下导入
import sys


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QRubberBand的案例")
        self.resize(400, 400)
        self.set_ui()

    def set_ui(self):
        for i in range(30):
            checkBox = QCheckBox(self)
            checkBox.setText(str(i))
            checkBox.move(i % 4 * 50, i // 4 * 50)

        self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)


    def mousePressEvent(self, event):
        self.origin_pos = event.pos()
        self.rubberBand.setGeometry(QRect(self.origin_pos, QSize()))  # QSize() 此时为-1 -1
        self.rubberBand.show()


    def mouseMoveEvent(self, event):
        # self.rubberBand.setGeometry(QRect(self.origin_pos,event.pos())) #这里是不可以反着拖的
        self.rubberBand.setGeometry(QRect(self.origin_pos, event.pos()).normalized())  # 这里可以


    def mouseReleaseEvent(self, event):
        rect = self.rubberBand.geometry()
        for child in self.children():
            if rect.contains(child.geometry()) and child.inherits("QCheckBox"):
                # print(child)
                child.toggle()

        self.rubberBand.hide()


if __name__ == '__main__':
    app = QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

 

QRubberBand 信号:

 

总结:

以上就是橡皮筋选中的内容,下面看输入控件中的另一个对话框QDialog:https://www.cnblogs.com/zach0812/p/11392611.html

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
PyQt5 控件学习(一个一个学习之QDial)

QDial 的继承图: QDial 的描述: QDial 的继承: 继承自 QAbstractSlider QDial 的功能作用: from PyQt5.Qt import * #刚开始学习可以这样一下导入import sys class Window(QWidget): ...

osc_wws45aot
2019/08/21
3
0
GUI学习之二十二——QRubberBand学习总结

今天学习一种全新的输入控件——QRubberBand()控件(橡皮筋选中) 一.描述 QRubberBand()提供了一个矩形或西安来只是选择或边界的效果(就像在桌面上点击鼠标后拖拽拉出来的框一样),一般和...

osc_fhl05ph9
2019/06/05
6
0
vnpy源码阅读学习(2):学习PyQt5

PyQt5的学习 花费了一个下午把PyQt5大概的学习了下。找了一个教程 PyQt5教程 跟着挨着把上面的案例做了一遍,大概知道PyQt5是如何生成窗体,以及控件的。基本上做到如果有需求要实现,查查手...

osc_i05nmotv
01/14
12
0
pyqt5-橡皮筋控件QRubberBand

提供一个矩形或线来指示选择或边界 一般结合鼠标事件一同协作 继承于 QWidget import sysfrom PyQt5.QtWidgets import QApplication, QWidget,QRubberBand,QCheckBoxfrom PyQt5.QtCore impor...

osc_sll1zbat
2019/06/14
3
0
Python-GUI编程-PyQt5

Python-GUI编程-PyQt5 1. GUI编程是什么? GUI 全称为: Graphical User Interface; 简称GUI 翻译为中文为: 图形化用户接口 简单理解就是: - 使用Python开发出一个软件的界面, - 让用户可以通过...

osc_dos38x1o
2018/10/04
19
0

没有更多内容

加载失败,请刷新页面

加载更多

等到所有jQuery Ajax请求都完成了吗? - Wait until all jQuery Ajax requests are done?

问题: How do I make a function wait until all jQuery Ajax requests are done inside another function? 我如何让一个函数等到所有jQuery Ajax请求都在另一个函数中完成之后? In short...

富含淀粉
34分钟前
17
0
OSChina 周日乱弹 —— 那么长的绳子,你这是放风筝呢

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @ 巴拉迪维:黑豹乐队的单曲《无地自容》 耳畔突然响起旋律,是那首老歌。中国摇滚有了《一无所有》不再一无所有;中国摇滚有了《无地自容》不...

小小编辑
今天
65
1
《吐血整理》-顶级程序员书单集

你知道的越多,你不知道的越多 给岁月以文明,而不是给文明以岁月 前言 王潇:格局决定了一个人的梦想,梦想反过来决定行为。 那格局是什么呢? 格局是你能够看见的深度、广度和密度。 王潇认...

敖丙
2019/12/11
15
0
我可以在Android版式中加下划线吗? - Can I underline text in an Android layout?

问题: 如何在Android布局xml文件中定义带下划线的文本? 解决方案: 参考一: https://stackoom.com/question/A31z/我可以在Android版式中加下划线吗 参考二: https://oldbug.net/q/A31z/...

法国红酒甜
今天
26
0
干掉ELK | 使用Prometheus+Grafana搭建监控平台

什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。 Prometheus的特点 · 多维度...

木九天
今天
34
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部