22#include " ui_mainwindow.h"
33#include < QClipboard>
44#include < QDebug>
5- #include < QTimer>
5+ // #include <QTimer>
66
77
88MainWindow::MainWindow (QWidget *parent)
@@ -11,6 +11,8 @@ MainWindow::MainWindow(QWidget *parent)
1111{
1212 ui->setupUi (this );
1313
14+ // ergebnis = 0.0;
15+
1416 // Grenzwerte für die Drehkästchen voll aufdrehen
1517 ui->spinBoxMin1 ->setMaximum (std::numeric_limits<double >::max ());
1618 ui->spinBoxMin2 ->setMaximum (std::numeric_limits<double >::max ());
@@ -23,16 +25,16 @@ MainWindow::MainWindow(QWidget *parent)
2325 ui->spinBoxMax2 ->setMinimum (-std::numeric_limits<double >::max ());
2426 ui->spinBoxBewertung1 ->setMinimum (-std::numeric_limits<double >::max ());
2527
26- // Ursprüngliche Fenstergröße speichern
27- fenstergroesseOriginal = this ->size ();
28+ // // Ursprüngliche Fenstergröße speichern
29+ // fenstergroesseOriginal = this->size();
2830
2931 ui->labelFusszeile ->setStyleSheet (" color: rgba(0, 0, 0, 153);" ); // 60 % durchsichtig
3032
31- // Verzögerungszeitgeber für die Aktualisierung der Schriftgrößen nach Programmstart
32- schriftenTimer = new QTimer (this );
33- schriftenTimer->setSingleShot (true );
34- connect (schriftenTimer, &QTimer::timeout, this , &MainWindow::updateFontSize);
35- schriftenTimer->start (20 ); // 20ms Kontemplation
33+ // // Verzögerungszeitgeber für die Aktualisierung der Schriftgrößen nach Programmstart
34+ // schriftenTimer = new QTimer(this);
35+ // schriftenTimer->setSingleShot(true);
36+ // connect(schriftenTimer, &QTimer::timeout, this, &MainWindow::updateFontSize);
37+ // schriftenTimer->start(20); //20ms Kontemplation
3638}
3739
3840
@@ -45,20 +47,45 @@ MainWindow::~MainWindow()
4547void MainWindow::on_pushButtonTransform_clicked ()
4648{
4749 // Zahlen einlesen
48- float spinBoxMin1 = ui->spinBoxMin1 ->value ();
49- float spinBoxMax1 = ui->spinBoxMax1 ->value ();
50- float spinBoxMin2 = ui->spinBoxMin2 ->value ();
51- float spinBoxMax2 = ui->spinBoxMax2 ->value ();
52- float spinBoxBewertung1 = ui->spinBoxBewertung1 ->value ();
50+ double spinBoxMin1 = ui->spinBoxMin1 ->value ();
51+ double spinBoxMax1 = ui->spinBoxMax1 ->value ();
52+ double spinBoxMin2 = ui->spinBoxMin2 ->value ();
53+ double spinBoxMax2 = ui->spinBoxMax2 ->value ();
54+ double spinBoxBewertung1 = ui->spinBoxBewertung1 ->value ();
55+
56+ if (spinBoxMin1 >= spinBoxMax1) {
57+ ui->labelBewertung ->setText (" Ungültiger Wertebereich" );
58+ return ;
59+ }
60+ if (spinBoxMin2 >= spinBoxMax2) {
61+ ui->labelBewertung ->setText (" Ungültiger Wertebereich" );
62+ return ;
63+ }
64+
65+ if (spinBoxBewertung1 < spinBoxMin1 || spinBoxBewertung1 > spinBoxMax1) {
66+ ui->labelBewertung ->setText (" Bewertung > Maximum" );
67+ return ;
68+ }
5369
5470 // Lineare Abbildung berechnen
55- float steigung = ((spinBoxMax2-spinBoxMin2)/(spinBoxMax1-spinBoxMin1));
56- float yAchse = (spinBoxMin2 - (steigung * spinBoxMin1));
57- float ergebnis = ((steigung*spinBoxBewertung1)+yAchse);
71+ double steigung = ((spinBoxMax2-spinBoxMin2)/(spinBoxMax1-spinBoxMin1));
72+ double yAchse = (spinBoxMin2 - (steigung * spinBoxMin1));
73+ ergebnis = ((steigung*spinBoxBewertung1)+yAchse);
74+
5875
5976 // Ergebnis in Zeichenkette umwandeln
6077 // QString ergebnisText = QString::number(ergebnis);
61- QString ergebnisText = QLocale::system ().toString (ergebnis, ' f' , 2 );
78+ if (ui->comboBoxRunden ->currentIndex () == 0 ){
79+ ergebnisText = QLocale::system ().toString (ergebnis, ' f' , 2 );
80+ } else if (ui->comboBoxRunden ->currentIndex () == 1 ){
81+ ergebnis = qRound (ergebnis);
82+ ergebnisText = QLocale::system ().toString (ergebnis, ' f' , 2 );
83+ } else if (ui->comboBoxRunden ->currentIndex () == 2 ){
84+ // ergebnis = (qRound(ergebnis * 2) / 2);
85+ double gerundet = qRound (ergebnis * 2.0 ) / 2.0 ;
86+ ergebnisText = QLocale::system ().toString (gerundet, ' f' , 2 );
87+ }
88+
6289
6390 ui->labelBewertung ->setText (ergebnisText);
6491
@@ -91,66 +118,73 @@ void MainWindow::on_spinBoxBewertung1_valueChanged(double arg1)
91118}
92119
93120
94- // Das überrittene Resize-Event ruft die Funktion zur Schriftgrößenanpassung auf
95- void MainWindow::resizeEvent (QResizeEvent *event) {
121+ // // Das überrittene Resize-Event ruft die Funktion zur Schriftgrößenanpassung auf
122+ // void MainWindow::resizeEvent(QResizeEvent *event) {
96123
97- qDebug () << " resizeEvent aufgerufen\n " ;
124+ // qDebug() << "resizeEvent aufgerufen\n";
98125
99- QSize fenstergroesseNeu = this ->size ();
100- qDebug () << " Alte Fenstergröße: " << fenstergroesseOriginal << ' \n ' ;
101- qDebug () << " Neue Fenstergröße: " << fenstergroesseNeu << ' \n ' ;
126+ // QSize fenstergroesseNeu = this->size();
127+ // qDebug() << "Alte Fenstergröße: " << fenstergroesseOriginal << '\n';
128+ // qDebug() << "Neue Fenstergröße: " << fenstergroesseNeu << '\n';
102129
103- if (fenstergroesseOriginal != fenstergroesseNeu){
104- schriftgroesseAnpassen (ui->centralwidget );
105- fenstergroesseOriginal = fenstergroesseNeu;
106- }
130+ // if (fenstergroesseOriginal != fenstergroesseNeu){
131+ // schriftgroesseAnpassen(ui->centralwidget);
132+ // fenstergroesseOriginal = fenstergroesseNeu;
133+ // }
107134
108- }
135+ // }
109136
110137
111- void MainWindow::schriftgroesseAnpassen (QWidget* parentWidget) {
112- qDebug () << " schriftgroesseAnpassen aufgerufen\n " ;
113- qDebug () << " Label Font: " << ui->label ->font () << ' \n ' ;
114- qDebug () << " Beenden Font: " << ui->pushButtonBeenden ->font () << ' \n ' ;
115- qDebug () << " Transformieren Font: " << ui->pushButtonTransform ->font () << ' \n ' ;
116-
117- // Kinder-Widgets durchstöbern
118- foreach (QObject* child, parentWidget->children ()) {
119- QWidget* widget = qobject_cast<QWidget*>(child);
120- if (widget) {
121- qDebug () << " Parent-Widget: " << parentWidget << ' \n ' ;
122- qDebug () << " Widget: " << widget << ' \n ' ;
123- qDebug () << " Widget-Breite: " << widget->width () << ' \n ' ;
124- qDebug () << " Widget-Schriftgröße: " << widget->font ().pointSizeF () << ' \n ' ;
125-
126- // Schriftgröße definieren
127- qreal newFontSize = 1.0 ;
128-
129- // Mt 22,21
130- if (widget->objectName () == " labelFusszeile" ){
131- newFontSize = static_cast <qreal>(widget->width ()) * 0.018 ;
132- } else if (widget->objectName () == " labelScala2" || widget->objectName () == " labelScala1" ){
133- newFontSize = static_cast <qreal>(widget->width ()) * 0.07 ;
134- } else {
135- newFontSize = static_cast <qreal>(widget->width ()) * 0.1 ;
136- }
137-
138- QFont font = widget->font ();
139- font.setPointSizeF (newFontSize);
140- widget->setFont (font);
141- qDebug () << " Objektname: " << widget->objectName () << ' \n ' ;
142- qDebug () << " Widget neue Schriftgröße: " << widget->font ().pointSizeF () << ' \n ' ;
143- }
144- }
145- }
138+ // void MainWindow::schriftgroesseAnpassen(QWidget* parentWidget) {
139+ // qDebug() << "schriftgroesseAnpassen aufgerufen\n";
140+ // qDebug() << "Label Font: " << ui->label->font() << '\n';
141+ // qDebug() << "Beenden Font: " << ui->pushButtonBeenden->font() << '\n';
142+ // qDebug() << "Transformieren Font: " << ui->pushButtonTransform->font() << '\n';
143+ // qDebug() << "comboBoxRunden Font: " << ui->comboBoxRunden->font() << '\n';
146144
145+ // //Kinder-Widgets durchstöbern
146+ // foreach (QObject* child, parentWidget->children()) {
147+ // QWidget* widget = qobject_cast<QWidget*>(child);
148+ // if (widget) {
149+ // qDebug() << "Parent-Widget: " << parentWidget << '\n';
150+ // qDebug() << "Widget: " << widget << '\n';
151+ // qDebug() << "Widget-Breite: " << widget->width() << '\n';
152+ // qDebug() << "Widget-Schriftgröße: " << widget->font().pointSizeF() << '\n';
147153
148- // Timer-Methode, die die Anpassung der Schriftgrößen nach Programmstart freundlichst verzögert
149- void MainWindow::updateFontSize () {
150- schriftgroesseAnpassen (ui->centralwidget );
154+ // //Schriftgröße definieren
155+ // qreal newFontSize = 1.0;
151156
152- if (schriftenTimer->isActive ()){
153- schriftenTimer->stop ();
154- }
157+ // //Mt 22,21
158+ // if (widget->objectName() == "labelFusszeile"){
159+ // newFontSize = static_cast<qreal>(widget->width()) * 0.018;
160+ // } else if (widget->objectName() == "labelScala2" || widget->objectName() == "labelScala1"){
161+ // newFontSize = static_cast<qreal>(widget->width()) * 0.07;
162+ // } else{
163+ // newFontSize = static_cast<qreal>(widget->width()) * 0.1;
164+ // }
165+
166+ // QFont font = widget->font();
167+ // font.setPointSizeF(newFontSize);
168+ // widget->setFont(font);
169+ // qDebug() << "Objektname: " << widget->objectName() << '\n';
170+ // qDebug() << "Widget neue Schriftgröße: " << widget->font().pointSizeF() << '\n';
171+ // }
172+ // }
173+ // }
174+
175+
176+ // //Timer-Methode, die die Anpassung der Schriftgrößen nach Programmstart freundlichst verzögert
177+ // void MainWindow::updateFontSize() {
178+ // schriftgroesseAnpassen(ui->centralwidget);
179+
180+ // if (schriftenTimer->isActive()){
181+ // schriftenTimer->stop();
182+ // }
183+ // }
184+
185+
186+ void MainWindow::on_comboBoxRunden_currentIndexChanged (int index)
187+ {
188+ on_pushButtonTransform_clicked ();
155189}
156190
0 commit comments