как решить эту проблему?
Запускается C:\Temp\tipaprogramy-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\debug\tipaprogramy.exe...
Программа неожиданно завершилась.
C:\Temp\tipaprogramy-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\debug\tipaprogramy.exe завершился с кодом -1073741819
Запустить дебаг
0xC0000005
- 100% запустить в дебаге на отладку без точек останова. Место найдётся сразу )
причём это будет либо выход за край массива/контейнера, либо неинициализированный указатель, либо обращение к дохлому объекту
а подскажите пожалуйста как это сделать
Вы какой IDE пользуетесь?
В Qt Creator нужно нажать F5
А где вызов ui->setupUi( this )?
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QtGui/QWidget>
#include <QVBoxLayout>
#include <QLineEdit>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void Rasschitat();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
#include "widget.h"
#include "math.h"
#include "ui_widget.h"
#include <QLineEdit>
#include <QPushButton>
Widget::Widget(QWidget *parent) : QWidget(parent),
ui(new Ui::Widget)
{
QVBoxLayout *mainLay = new QVBoxLayout(this);
ui->lineEdit->setInputMask("9999");
ui->lineEdit_2->setInputMask("9999");
ui->lineEdit_3->setInputMask("9999");
ui->lineEdit_4->setReadOnly(true);
ui->lineEdit_5->setReadOnly(true);
ui->lineEdit_6->setReadOnly(true);
QPushButton *clickMeBtn = new QPushButton("Rasschitat");
QObject::connect(clickMeBtn, SIGNAL(clicked()), this, SLOT(Rasschitat()));
mainLay->addWidget(clickMeBtn);
ui->setupUi(this);
}
Widget::~Widget(){
delete ui;
}
void Widget::Rasschitat(){
ui->lineEdit_4->setText(QString::number(ui->lineEdit->text().toInt() * ui->lineEdit_2->text().toInt() * ui->lineEdit_3->text().toInt()));
ui->lineEdit_5->setText(QString::number(ui->lineEdit->text().toInt() * ui->lineEdit_2->text().toInt() * ui->lineEdit_3->text().toInt()));
ui->lineEdit_6->setText(QString::number(ui->lineEdit_4->text().toInt() + ui->lineEdit_5->text().toInt()));
}
Widget::Widget(QWidget *parent) : QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi( this ); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
QVBoxLayout *mainLay = new QVBoxLayout(this);
ui->lineEdit->setInputMask("9999");
ui->setupUi(this); - всегда должен быть первым в конструкторе
исправил теперь написал 2 ошибки:
cannot open output file debug\tipaprogrammy.exe
collect2: ld returned 1 exit status
Останови отладку и перезапусти сборку.
ArhiZhek, у тебя процесс завис, наверное - убей через диспетчер
"tipaprogramy" - как вы лодку назовёте, так она и поплывёт )))
СПАСИБО! все получилось
#include "widget.h"
#include "math.h"
#include "ui_widget.h"
#include <QLineEdit>
#include <QPushButton>
Widget::Widget(QWidget *parent) : QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QVBoxLayout *mainLay = new QVBoxLayout(this);
ui->lineEdit->setInputMask("9999");
ui->lineEdit_2->setInputMask("9999");
ui->lineEdit_3->setInputMask("9999");
ui->lineEdit_4->setReadOnly(true);
ui->lineEdit_5->setReadOnly(true);
ui->lineEdit_6->setReadOnly(true);
ui->pushButton->; //незнаю что тут прописать
}
Widget::~Widget(){
delete ui;
}
void Widget::uipushButton(){
ui->lineEdit_4->setText(QString::number(ui->lineEdit->text().toInt() * ui->lineEdit_2->text().toInt() * ui->lineEdit_3->text().toInt()));
ui->lineEdit_5->setText(QString::number(ui->lineEdit->text().toInt() * ui->lineEdit_2->text().toInt() * ui->lineEdit_3->text().toInt()));
ui->lineEdit_6->setText(QString::number(ui->lineEdit_4->text().toInt() + ui->lineEdit_5->text().toInt()));
}
Widget::Widget(QWidget *parent) : QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QVBoxLayout *mainLay = new QVBoxLayout(this);
// ui->pushButton->; //незнаю что тут прописать
connect( ui->pushButton, SIGNAL( clicked() ), SLOT(как_там_он_у_тебя_называется()) );
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QtGui/QWidget>
#include <QVBoxLayout>
#include <QLineEdit>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void Rasschitat();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
#include "widget.h"
#include "math.h"
#include "ui_widget.h"
#include <QLineEdit>
#include <QPushButton>
Widget::Widget(QWidget *parent) : QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QVBoxLayout *mainLay = new QVBoxLayout(this);
ui->lineEdit->setInputMask("9999");
ui->lineEdit_2->setInputMask("9999");
ui->lineEdit_3->setInputMask("9999");
ui->lineEdit_4->setReadOnly(true);
ui->lineEdit_5->setReadOnly(true);
ui->lineEdit_6->setReadOnly(true);
ui->pushButton->connect( ui->pushButton, SIGNAL( clicked() ), SLOT // а какой должен быть,уже все перевводил!
QPushButton *clickMeBtn = new QPushButton("Rasschitat");
QObject::connect(clickMeBtn, SIGNAL(clicked()), this, SLOT(Rasschitat()));
mainLay->addWidget(clickMeBtn);
}
Widget::~Widget(){
delete ui;
}
void Widget::Rasschitat(){
ui->lineEdit_4->setText(QString::number(ui->lineEdit->text().toInt() * ui->lineEdit_2->text().toInt() * ui->lineEdit_3->text().toInt()));
ui->lineEdit_5->setText(QString::number(ui->lineEdit->text().toInt() * ui->lineEdit_2->text().toInt() * ui->lineEdit_3->text().toInt()));
ui->lineEdit_6->setText(QString::number(ui->lineEdit_4->text().toInt() + ui->lineEdit_5->text().toInt()));
}
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QtGui/QWidget>
#include <QVBoxLayout>
#include <QLineEdit>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void Rasschitat();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
#include "widget.h"
#include "math.h"
#include "ui_widget.h"
#include <QLineEdit>
Widget::Widget(QWidget *parent) : QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->lineEdit->setInputMask("9999");
ui->lineEdit_2->setInputMask("9999");
ui->lineEdit_3->setInputMask("9999");
ui->lineEdit_4->setReadOnly(true);
ui->lineEdit_5->setReadOnly(true);
ui->lineEdit_6->setReadOnly(true);
ui->pushButton->connect(ui->pushButton, SIGNAL( clicked() ), SLOT(Rasschitat()));
QPushButton::; // незнаю что тут будет, ругается на все что вводил
}
Widget::~Widget(){
delete ui;
}
void Widget::Rasschitat(){
ui->lineEdit_4->setText(QString::number(ui->lineEdit->text().toInt() * ui->lineEdit_2->text().toInt() * ui->lineEdit_3->text().toInt()));
ui->lineEdit_5->setText(QString::number(ui->lineEdit->text().toInt() * ui->lineEdit_2->text().toInt() * ui->lineEdit_3->text().toInt()));
ui->lineEdit_6->setText(QString::number(ui->lineEdit_4->text().toInt() + ui->lineEdit_5->text().toInt()));
}
Widget::Widget(QWidget *parent) : QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->lineEdit->setInputMask("9999");
ui->lineEdit_2->setInputMask("9999");
ui->lineEdit_3->setInputMask("9999");
ui->lineEdit_4->setReadOnly(true);
ui->lineEdit_5->setReadOnly(true);
ui->lineEdit_6->setReadOnly(true);
connect(ui->pushButton, SIGNAL( clicked() ), SLOT(Rasschitat()));
}
я не правильно вязал кнопку благодарю за помощь!
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)