Kann mir jemand bitte sagen, wieso das Fenster nicht auf die (150,60) angepasst wird?
Endsziel ist es, wenn ich mit der Mouse auf das "letzter_eintrag" geht werden zwei frm ( frm_projekt_eintragen und bar_buttons) eingeblendet und das Fenster wird groesser. Dies funktioniert soweit ok.
Nun moechte ich aber, dass wenn ich mit der Mouse weg gehe, soll das Fenster wieder auf die Ursprugsgroesse gehen.
Evtl. muss man alles neu initialisieren, aber wie macht ich dies.
Code: Alles auswählen
#!/usr/bin/env python
from PyQt5 import QtCore
from PyQt5.QtCore import Qt, QEvent
import sys
from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QVBoxLayout, QMainWindow, QLabel)
from worklogapp.frm_projekt_eintragen import WindowProjektEintragen
from worklogapp.frm_barButtons import Bar_Buttons
from worklogapp.styles import MainStyleUI
from worklogapp.log import Log
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.frm_projekt_eintragen = WindowProjektEintragen()
self.log = Log()
self.bar_buttons = Bar_Buttons()
self.layout_frm = QVBoxLayout()
self.V_bar_button = QVBoxLayout()
self.layout = QHBoxLayout()
self.widget = QWidget()
self.initUI()
def initUI(self):
self.layout_frm.setContentsMargins(0, 0, 0, 0)
self.layout_frm.setSpacing(0)
self.layout.setContentsMargins(0, 0, 0, 0)
self.layout.setSpacing(0)
self.letzter_eintrag = QLabel(self.log.letzer_eintrag_auslesen().to_string())
self.letzter_eintrag.setObjectName('letzter_eintrag')
self.letzter_eintrag.setUpdatesEnabled(True)
self.letzter_eintrag.setAlignment(Qt.AlignCenter)
self.letzter_eintrag.setBaseSize(QtCore.QSize(150, 55))
self.V_bar_button.addWidget(self.bar_buttons)
self.layout_frm.addWidget(self.letzter_eintrag)
self.layout_frm.addWidget(self.frm_projekt_eintragen)
self.layout.addLayout(self.V_bar_button)
self.layout.addLayout(self.layout_frm)
self.widget.setLayout(self.layout)
self.setCentralWidget(self.widget)
self.setGeometry(50, 50, 150, 60)
self.frm_projekt_eintragen.setVisible(False)
self.bar_buttons.setVisible(False)
self.installEventFilter(self)
def eventFilter(self, obj, event):
if event.type() == QEvent.Enter:
print('go')
self.bar_buttons.setVisible(True)
self.frm_projekt_eintragen.setVisible(True)
self.stop = True
elif event.type() == QEvent.Leave:
print('stop')
self.frm_projekt_eintragen.setVisible(False)
self.bar_buttons.setVisible(False)
self.resize(150, 60)
self.stop = False
return False
def main():
app = MainStyleUI(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()