QWidgets wechseln
Verfasst: Donnerstag 21. April 2016, 12:17
Hallo zusammen,
ich möchte momentan über eine Toolbar einfach zwischen verschiedenen Widgets wechseln und sie anzeigen lassen. Hab damit aber irgendwie Schwierigkeiten. Momentan funktioniert mein Code nicht. Vielleicht kann mir jemand mal einen Tipp geben und drüber schauen. Danke schonmal.
Im Endeffekt will ich einfach nur die angezeigten Widgets per Button wechseln. Jemand eine Idee? Irgendwie ging das mit C++ sehr einfach über pointer.
ich möchte momentan über eine Toolbar einfach zwischen verschiedenen Widgets wechseln und sie anzeigen lassen. Hab damit aber irgendwie Schwierigkeiten. Momentan funktioniert mein Code nicht. Vielleicht kann mir jemand mal einen Tipp geben und drüber schauen. Danke schonmal.
Code: Alles auswählen
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QVBoxLayout
from PyQt5.QtGui import QIcon
from src.WNew import WNew
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.layout = QVBoxLayout()
self.layout.addStretch(1)
self.content = None
# Init UI
self.initUI()
def initUI(self):
# Window Options
self.setMinimumSize(1024, 768)
self.setWindowTitle('GDiary')
# Actions
newAction = QAction(QIcon('icons/plus.png'), '&New', self)
quitAction = QAction(QIcon('icons/logout.png'), '&Quit', self)
# Connect
newAction.triggered.connect(lambda: self.setPanel("new"))
quitAction.triggered.connect(qApp.quit)
# Toolbar
self.toolbar = self.addToolBar('Quit')
self.toolbar.addAction(newAction)
self.toolbar.addAction(quitAction)
# Layout
self.layout.addWidget(self.toolbar)
self.layout.addWidget(self.content)
self.show()
def setPanel(self, name):
if (name == "new"):
self.content = WNew()
Code: Alles auswählen
from PyQt5.QtWidgets import QWidget, QLineEdit, QHBoxLayout, QVBoxLayout, QPushButton
from PyQt5.QtGui import QTextLine
class WNew(QWidget):
def __init__(self):
super().__init__()
self.initUI
def initUI(self):
layout = QVBoxLayout()
buttonOK = QPushButton()
text = QLineEdit()
layout.addWidget(text)