DIGITAL
Wir wollen nun eine hübsche GUI erstellen, die uns erlaubt einen arithmetischen Ausdruck eingeben lässt, diesen und die Ableitung des Ausdrucks automatisch anzeigt und auf Wunsch auswerten lässt. Dies werden wir in dieser Teilaufgabe realisieren (der Programmieraufwand dieser Aufgabe ist nicht sehr groß).
Hinweise:
toWidget()
zu definieren, die ein QWidget passend zum Inhalt des jeweiligen Objekts erstellt. Für Funktionen sind dabei einfache QLabel-Widgets vollkommen ausreichend. Für Operatoren möchten wir eine etwas „mathematischere“ Schreibweise verwenden, indem wir a/b
tatsächlich als Bruch darstellen, \(\frac{a}{b}\) oder Potenzen als hochgestellter Ausdruck, \(a^b\). Übergeben Sie beispielsweise dem Operatorkonstruktor eine weitere Funktion toWidget
, die die Standard-Widgeterstellung überschreibt. Standardmäßig sollen Operatoren durch horizontale angeordnete QLabel (QHBoxLayout
) dargestellt werden. Die Bruch-Darstellung kann durch QVBoxLayout
und eine horizontale Line realisiert werden (siehe unten). Die Exponentendarstellung können Sie mithilfe von QGridLayout
realisieren.setSpacing
und setContentsMargins
gezeigt: QWidget w();
QVBoxLayout h();
h.setSpacing(2);
h.setContentsMargins(0,0,0,0);
h.addWidget(QLabel("a"));
QFrame line();
line.setFrameShape(QFrame.HLine);
h.addWidget(line);
h.addWidget(QLabel("b"));
w.setLayout(h);
toWidget()
-Methode verwenden und die neu generierten QtWidgets zum Beispiel in einem weiteren QVBoxLayout
arrangieren.