Skip to content

Instantly share code, notes, and snippets.

@madoodia
Last active November 10, 2016 16:01
Show Gist options
  • Save madoodia/2d94f2638c222133ff3bcf8872fbcdbb to your computer and use it in GitHub Desktop.
Save madoodia/2d94f2638c222133ff3bcf8872fbcdbb to your computer and use it in GitHub Desktop.
import sys
import os
from PySide import QtCore, QtGui
class HiddenMenu(QtGui.QWidget):
def __init__(self, parent=None):
super(HiddenMenu, self).__init__(parent)
self.h_menu = QtGui.QWidget()
# COLOR
self.h_menu.setAutoFillBackground(True)
p = self.h_menu.palette()
# p.setColor(self.h_menu.backgroundRole(), QtCore.Qt.darkGray)
p.setColor(self.h_menu.backgroundRole(), QtGui.QColor(220, 120, 10))
self.h_menu.setPalette(p)
self.h_menu.move(-10, 25)
lay = QtGui.QVBoxLayout(self)
lay.addWidget(self.h_menu)
# self.h_menu.resize(100, 30)
def enterEvent(self, event):
print "enterEvent"
self.enter_anim = QtCore.QPropertyAnimation(self.h_menu, "pos")
self.enter_anim.setStartValue(QtCore.QPointF(-10, 25))
self.enter_anim.setEndValue(QtCore.QPointF(2, 25))
self.enter_anim.setDuration(100)
self.enter_anim.start()
def leaveEvent(self, event):
print "leaveEvent"
self.leave_anim = QtCore.QPropertyAnimation(self.h_menu, "pos")
self.leave_anim.setStartValue(QtCore.QPointF(2, 25))
self.leave_anim.setEndValue(QtCore.QPointF(-10, 25))
self.leave_anim.setDuration(100)
self.leave_anim.start()
def mousePressEvent(self, event):
print "mousePressEvent"
class MainForm(QtGui.QDialog):
def __init__(self, parent=None):
super(MainForm, self).__init__(parent)
# self.hm = QtGui.QPushButton("Hello", self)
self.hm = HiddenMenu()
# self.hm.resize(300, 25)
# self.hm.move(50, 50)
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.hm)
layout.setContentsMargins(0, 0, 0, 0)
self.setWindowFlags(QtCore.Qt.Window)
self.setWindowTitle("Animation ]n PySide")
self.resize(500, 500)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
current_dir = os.path.dirname(os.path.abspath(__file__))
form = MainForm()
form.show()
sys.exit(app.exec_())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment