QT kann Qeditline nicht dazu bringen, Text anzuzeigen
Posted: 09 Mar 2025, 11:12
Ich habe Konsolenanwendungen durchgemacht und ich dachte darüber nach, etwas anderes als das zu tun, um weiterzumachen und etwas Ehrgeizigeres zu tun. Mein Freund hat mir von IDE QT erzählt. Es lief schön, bis ich eine Mauer erreichte, was mich wirklich davon abhält, meine erste App in der ganzen Art und Weise neu zu entwickeln. Früher habe ich Visual Studio verwendet und aufgrund der massiven Anzahl von WalkTroughs im Internet habe ich es oft selbst gefunden, selbst Antworten zu finden, aber diesmal gebe ich auf! Dies ist also das erste Mal, dass ich um Hilfe bittet.
Meine App soll ein einfacher Taschenrechner sein. Das Problem ist, dass ich das Qeditline -Objekt nicht dazu bringen kann, Numebs anzuzeigen, die durch Schaltflächen dargestellt werden. Es ändert sich nie und zeigt 0. Es funktioniert, wenn ich den Entwurfsmodus verwende, und dies gleich und die Definition der Funktion von dgtClicked () ist in der von QT angegebenen Beispiel fast gleich. Ich bin mehr als glücklich über Vorschläge und Hilfe. Das ist wirklich ärgerlich und ich mag es nicht wirklich, unausgesprochene Fragen wie diese zu hinterlassen.
Meine App soll ein einfacher Taschenrechner sein. Das Problem ist, dass ich das Qeditline -Objekt nicht dazu bringen kann, Numebs anzuzeigen, die durch Schaltflächen dargestellt werden. Es ändert sich nie und zeigt 0. Es funktioniert, wenn ich den Entwurfsmodus verwende, und dies gleich und die Definition der Funktion von dgtClicked () ist in der von QT angegebenen Beispiel fast gleich. Ich bin mehr als glücklich über Vorschläge und Hilfe. Das ist wirklich ärgerlich und ich mag es nicht wirklich, unausgesprochene Fragen wie diese zu hinterlassen.
Code: Select all
#include "klk.h"
#include "ui_klk.h"
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent)//,
// ui(new Ui::MainWindow)
{
//ui->setupUi(this);
dgtButton[0] = new QPushButton("&0");
dgtButton[1] = new QPushButton("&1");
dgtButton[2] = new QPushButton("&2");
dgtButton[3] = new QPushButton("&3");
dgtButton[4] = new QPushButton("&4");
dgtButton[5] = new QPushButton("&5");
dgtButton[6] = new QPushButton("&6");
dgtButton[7] = new QPushButton("&7");
dgtButton[8] = new QPushButton("&8");
dgtButton[9] = new QPushButton("&9");
for(int i =0;isetAlignment(Qt::AlignRight);
display->setMaxLength(15);
display->setReadOnly(true);
// centralWidget = new QWidget(this);
//this->setCentralWidget( centralWidget );
// layout = new QGridLayout( centralWidget );
layout = new QGridLayout;
layout->setSizeConstraint(QLayout::SetFixedSize);
layout->addWidget(display,0,0,1,3);
layout->addWidget(dgtButton[1],2,0);
layout->addWidget(dgtButton[2],2,1);
layout->addWidget(dgtButton[3],2,2);
layout->addWidget(dgtButton[4],3,0);
layout->addWidget(dgtButton[5],3,1);
layout->addWidget(dgtButton[6],3,2);
layout->addWidget(dgtButton[7],4,0);
layout->addWidget(dgtButton[8],4,1);
layout->addWidget(dgtButton[9],4,2);
setLayout(layout);
}
void MainWindow::dgtClicked()
{
QPushButton *clickedButton = qobject_cast(sender());
dgt = clickedButton->text().toInt();
this->display->setText(QString::number(dgt));
//display->displayText();
// display->show();
}
MainWindow::~MainWindow()
{
//delete ui;
}
< /code>
klk.h
#ifndef KLK_H
#define KLK_H
#include
#include
#include
#include
#include
#include
#include
namespace Ui {
class MainWindow;
}
class MainWindow : public QWidget
{
Q_OBJECT
QPushButton *dgtButton[10];
QPushButton *addButton,*subButton;
QGridLayout *layout;
QWidget *centralWidget;
QLineEdit *display;
int dgt;
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
// Ui::MainWindow *ui;
private slots:
void dgtClicked();
};
#endif // KLK_H
< /code>
klk.pro
#-------------------------------------------------
#
# Project created by QtCreator 2014-04-30T15:37:36
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = klk
TEMPLATE = app
SOURCES += main.cpp\
klk.cpp
HEADERS += klk.h
FORMS += klk.ui