ich möchte das FocusIn und das FocusOut Event selber definieren. Ich bekomm das zwar hin, möchte aber das, dass das eigentliche Focus Event jeweils auch noch ausgeführt wird. Tja, aber nur wie? In meinen Beispiel wird nämlich im QLineEdit sonst nicht richtig angezeigt, an welcher Stelle ich gerade meine Eingabe tätigen kann.
Code: Alles auswählen
from PySide.QtCore import *
from PySide.QtGui import *
import sys
class MyLineEdit(QLineEdit):
def __init__(self, parent=None):
super(MyLineEdit, self).__init__(parent)
self.setFocusPolicy(Qt.StrongFocus)
def focusInEvent(self, event):
self.setStyleSheet("background: IndianRed;")
def focusOutEvent(self, event):
self.setStyleSheet("background: White;")
class MyMainForm(QMainWindow):
def __init__(self, parent=None):
super(MyMainForm, self).__init__(parent)
self.setWindowTitle('Test')
self.setFixedSize(170,42)
self.createWidgets()
self.placingWidgets()
def createWidgets(self):
self.firstEdit = MyLineEdit(self)
self.secondEdit = MyLineEdit(self)
def placingWidgets(self):
panelWidget = QWidget(self)
layout = QHBoxLayout(panelWidget)
layout.addWidget(self.firstEdit)
layout.addWidget(self.secondEdit)
self.setCentralWidget(panelWidget)
def main():
app = QApplication(sys.argv)
form = MyMainForm()
form.show()
app.exec_()
if __name__ == '__main__':
main()