gpt4 book ai didi

python-2.7 - 如何使用 PyQT 提示跟随 slider 的处理程序?

转载 作者:行者123 更新时间:2023-12-04 00:01:09 26 4
gpt4 key购买 nike

一个简单的问题,我正在寻找这样的pyqt效果:

Jquery UI slider how to make a box follow the handler?

但是那些代码是 JQuery,我正在尝试用 PyQT 来实现它

import sys
from PyQt4 import QtGui, QtCore

class Window(QtGui.QMainWindow):

def __init__(self):
super(Window, self).__init__()
self.setGeometry(50, 50, 500, 500)
self.setWindowTitle("PyQT example!")
slider = QtGui.QSlider(self)
slider.setOrientation(QtCore.Qt.Horizontal)
slider.move(50, 50)
slider.valueChanged.connect(self.value_changed)
self.show()

def value_changed(self, value):
QtGui.QToolTip.showText(QtGui.QCursor.pos(), str(value), self)

app = QtGui.QApplication(sys.argv)
GUI = Window()
sys.exit(app.exec_())

此代码成功地使提示气球跟随光标。
现在可以让提示跟随我的 slider 处理程序吗?

最佳答案

我喜欢@tmoreau 的想法,但最好将新逻辑放入 QSlider 的子类中:

class TipSlider(QtGui.QSlider):
def __init__(self, *args, tip_offset=QPoint(0, -45)):
super(QtGui.QSlider, self).__init__(*args)
self.tip_offset = tip_offset

self.style = QtGui.QApplication.style()
self.opt = QtGui.QStyleOptionSlider()

self.valueChanged.connect(self.show_tip)
# self.enterEvent = self.show_tip
# self.mouseReleaseEvent = self.show_tip

def show_tip(self, _):
self.initStyleOption(self.opt)
rectHandle = self.style.subControlRect(self.style.CC_Slider, self.opt, self.style.SC_SliderHandle)

pos_local = rectHandle.topLeft() + self.tip_offset
pos_global = self.mapToGlobal(pos_local)
QtGui.QToolTip.showText(pos_global, str(self.value()), self)

关于python-2.7 - 如何使用 PyQT 提示跟随 slider 的处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31653647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com