@Robokopp: An was und wie hast Du den Namen `exit` denn vor dieser Zeile gebunden?
Ich habe so ein bisschen das Gefühl, dass GUI noch nicht Deine Baustelle ist -- dir fehlen noch Grundlagen in der Sprache selbst.
Widget ausblenden/beenden
Ok
Also bei mir geht jetzt eigentlich alles, was ein separates Fenster öffnet.About, Help und Exit (was ich als eigene Methode definieren musste)
Das mit dem Aufruf von Newgrp, Delgrp usw kann ja garnicht mehr gehen weil ich das jetzt alles im StackedWidget drin hab^^
Wie änder ich da jetzt die angezeigte Seite?
mit gehts nicht
mit aufruf der Methode newgrp, welche das beinhaltet:
auch nicht
Also bei mir geht jetzt eigentlich alles, was ein separates Fenster öffnet.About, Help und Exit (was ich als eigene Methode definieren musste)
Das mit dem Aufruf von Newgrp, Delgrp usw kann ja garnicht mehr gehen weil ich das jetzt alles im StackedWidget drin hab^^
Wie änder ich da jetzt die angezeigte Seite?
mit
Code: Alles auswählen
self.ui.newgrp.connect.stackedWidget.setCurrentIndex(self, 2)
mit aufruf der Methode newgrp, welche das beinhaltet:
Code: Alles auswählen
self.stackedWidget.setCurrentIndex(self, 2)
auch nicht
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Also Doku lesen musst Du schon mal lernen:
http://doc.qt.nokia.com/4.7/qstackedwid ... rentWidget
Ist doch sehr einfach zu finden!
http://doc.qt.nokia.com/4.7/qstackedwid ... rentWidget
Ist doch sehr einfach zu finden!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ja hab ich doch
daher hab ich ja auch das setCurrentIndex
bekomme aber folgenden Fehler
QStackedWidget.setCurrentIndex(int): argument 1 has unexpected type 'MainWindow'
Edit:
Hab das self mal weggelassen
self.stackedWidget.setCurrentIndex(2)
Jetzt ist der Fehler weg aber der Index wird trotzdem nicht gewechselt
daher hab ich ja auch das setCurrentIndex
bekomme aber folgenden Fehler
QStackedWidget.setCurrentIndex(int): argument 1 has unexpected type 'MainWindow'
Edit:
Hab das self mal weggelassen
self.stackedWidget.setCurrentIndex(2)
Jetzt ist der Fehler weg aber der Index wird trotzdem nicht gewechselt
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Aber offensichtlich nicht verstanden:Robokopp hat geschrieben:Ja hab ich doch
Doku hat geschrieben: the currently shown widget can be retrieved using the currentWidget() function, and altered using the setCurrentWidget() function.
s.o.Robokopp hat geschrieben: daher hab ich ja auch das setCurrentIndex
Wie BlackJack schon schrieb, mangelt es Dir an Basiswissen und Erfahrung:Robokopp hat geschrieben: bekomme aber folgenden Fehler
QStackedWidget.setCurrentIndex(int): argument 1 has unexpected type 'MainWindow'
"unexpected type" und dazu der Typ sagt Dir doch, dass Dein Aufruf falsch ist, da Du einen Typen übergibst, der nicht erwartet wird. In diesem Falle übergibst Du ein MainWindow-Objekt, die Funktion erwartet aber einen Integer.
Solche Fehler kann man leicht selber finden.
Wie kommst Du überhaupt darauf, da ein self zu übergeben?Robokopp hat geschrieben: Hab das self mal weggelassen
self.stackedWidget.setCurrentIndex(2)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Naja vlt macht mir das UI File jetzt auch einen Strich durch die Rechnung
Hab mir noch mal ein Example dazu hergenommen.Dort ist alles soweit logisch, aber ich kann es nicht auf meinen Code anwenden
Ka wie ich auf das self komme
Hab mir noch mal ein Example dazu hergenommen.Dort ist alles soweit logisch, aber ich kann es nicht auf meinen Code anwenden
Ka wie ich auf das self komme
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Wenn man die falsche Funktion für eine gewünschte Auswirkung nimmt, ist man selber dran schuldRobokopp hat geschrieben:Naja vlt macht mir das UI File jetzt auch einen Strich durch die Rechnung
Schau Dir noch mal meinen Quote aus der Doku genau an. Das wichtige Wort ist sogar hervrogehoben. Dazu habe ich im Post davor sogar auf die korrekte Funktionsbeschreibung in der Doku verlinkt (Ist eben ganz unten auf der Seite, daher scrollt es nicht bis an den oberen Rand; der Name des Ankers ist aber aussagekräftig genug imho).
Du musst da versuchen zu kapieren, was ein "self" an sich bedeutet. Man übergibt das ja nicht planlos!Robokopp hat geschrieben: Ka wie ich auf das self komme
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Und wie?Robokopp hat geschrieben:Danke, habs auch so hinbekommen
Läuft jetzt alles soweit
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui, uic
from PyQt4.uic import loadUi
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
#Window description
self.ui = loadUi("happybirthday.ui")
self.ui.show()
MainWindow.stackedWidget=QtGui.QStackedWidget(self)
self.ui.stackedWidget.setCurrentIndex(0)
#Button function
self.ui.exit.triggered.connect(self.close)
self.ui.about.triggered.connect(self.about)
self.ui.help.triggered.connect(self.help2)
#Button Slots
self.ui.newgrp.clicked.connect(self.newgrp)
self.ui.editgrp.clicked.connect(self.edgrp)
self.ui.delgrp.clicked.connect(self.delgrp)
self.ui.settings.triggered.connect(self.settingsm)
self.ui.back.triggered.connect(self.index0)
self.ui.back2.clicked.connect(self.index0)
def index0(self):
self.ui.stackedWidget.setCurrentIndex(0)
def close(self):
sys.exit(app.exec_())
def newgrp(self):
self.ui.stackedWidget.setCurrentIndex(1)
def edgrp(self):
self.ui.stackedWidget.setCurrentIndex(2)
self.ui.commandLinkButton.clicked.connect(self.overview)
def overview(self):
self.overview=QtGui.QWidget(self)
self.setWindowTitle("Entrylist")
self.resize(800,400)
self.show()
def delgrp(self):
self.ui.stackedWidget.setCurrentIndex(3)
def settingsm(self):
self.settingsm = QtGui.QWidget(self)
self.setWindowTitle("Settings")
self.resize(800,400)
self.show()
def help2(self):
QtGui.QMessageBox.information(self, "Introduction of use:\n",
"1.Create a new group for example:\n"
"Girls or Boys. Friends or business partners\n"
"2.Chose the dialing numbers, you wish to use\n"
"3.Create your own unpersonal greeting message\n"
"4.Save your group")
def about(self):
QtGui.QMessageBox.about(self, "About",
"This program sends automatically short messages to\n"
"the people from your calendar, who have birthday.\n"
"Please be careful if you don´t have any sms flat.\n "
"It may cause high costs!!\n"
"This app was written by M.K.")
app = QtGui.QApplication(sys.argv)
main = MainWindow()
#main.show()
sys.exit(app.exec_())
http://paste.pocoo.org/show/338261/
Sieht auch auf meinem N900 schon recht akzeptabel aus
Uploaded with ImageShack.us
Uploaded with ImageShack.us
Uploaded with ImageShack.us