QT kann Qeditline nicht dazu bringen, Text anzuzeigenC++

Programme in C++. Entwicklerforum
Anonymous
 QT kann Qeditline nicht dazu bringen, Text anzuzeigen

Post by Anonymous »

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.

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post