Schlage mich schon den ganzen Tag damit herum, dieses kleine simple Programm zum Laufen zu bringen. Ich verzweifele an der Variable a. Scheint doch etwas anders zu sein als Delphi
<built-in method value of QProgressBar object at 0x7f05746e3e90> ###<------ Ausgabe von print(a)
Traceback (most recent call last):
File "./hello.py", line 17, in calculate
window.progressBar.setValue(a)
TypeError: QProgressBar.setValue(int): argument 1 has unexpected type 'builtin_function_or_method'
Habe schon alles mögliche probiert. Wie greift man in QProgressBar auf value zu?
@hans: Das hat in diesem Fall überhaupt nichts mit Python zu tun, auch C++ muss man Methoden *aufrufen*. Die `print()`-Ausgabe verrät es im Grunde ja schon das Du da versuchst eine Methode als Zahlwert zu übergeben.
Aber jetzt einmal allgemein gefragt. In der Dokumentation QT 5.5 QProgressbar ist value als Property (value : int) aufgeführt und als publicFunction (int value() const). Ich sehe das richtig, dass ich nur die Elemente, welche auf public gesetzt sind, verfügen kann, egal um welche QT Klasse es sich auch handelt?
@hans: Hier liegt vielleicht ein Missverständnis mit C++ und Qt vor: C++ kennt keine Properties im Sinne von Delphi oder Python (oder Dart ). Wenn in der Qt-Dokumentation etwas von einem Property `foo` steht, dann ist damit effektiv gemeint es gibt eine `foo()`-Methode und eine `setFoo()`-Methode.
Erst einmal Danke an BlackJack und pillmuncher. So ist das eben wenn man "verbildet" ist. Aber wenn man lernt die Doku richtig zu lesen, dann wird es schon. Im Vergleich der Python Programmierung unter GIMP ist eine Python QT Anwendung ja noch einfach <vielleicht hat mal jemand Lust, sich in GIMP mit den Vektoren (Pfaden) zu beschäftigen.
@BlackJack
Ach, so etwas gibt es in QT auch? Also ich habe mich an die Dinger nie heran gewagt. Der Aufbau kann wie folgt beschrieben werden:
Gegeben sind zwei Punkte, verbunden durch einen Linie. Jeder Endpunkt der Linie hat einen Vektor, welcher frei um seinen Ausgangspunkt bewegt werden kann. Abstand und Winkel sind variabel und haben Auswirkung auf die Form der Linie.
Mit zwei Linien kann man z.B. einen Kreis definieren. Frage: Möglich dass so etwas in der Statik (Fachwerk) verwendet wird?
@hans: Kurven beim Fachwerk? Vielleicht wenn der Architekt besoffen war.
Verschiedene Kurven (Bezier, quadratische oder kubische Splines, …) sind eigentlich ziemlich normal in der Computergrafik. Jedes Vektorgrafikprogramm bietet so etwas und pixelorientierte wie Gimp meistens auch in irgendeiner Form, weil die halt sehr praktisch sind um geschwungene Linien/Pfade zeichnen zu können, die man nachträglich noch bearbeiten kann. Die entsprechen ungefähr den Kurvenlinealen mit denen man so etwas auf Papier machen kann/machte, nur ohne die Veränderungsmöglichkeiten. Radiergummi und neuzeichnen mal ausgenommen.
Ich wusste es doch Gleich der erste Versuch bei Google (Statik, Vektor) ergibt einen Treffer.
Die Anwendung in den Programmen wie GIMP ist für mich kein Problem, sondern nur die Programmierung. Vielleicht liegt es auch nur an der spartanischen Dokumentation.