Russian Qt Forum
Ноябрь 24, 2024, 18:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3 ... 12   Вниз
  Печать  
Автор Тема: Помогите новичку (совсем новичку)  (Прочитано 85457 раз)
Den2009
Гость
« : Октябрь 29, 2009, 14:29 »

в общем, есть main.cpp
Код:
#include <QApplication>
#include "ui_proga1.h"
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Ui::MainWindow mainWindow;
    QMainWindow *w = new QMainWindow;
    mainWindow.setupUi(w);
    w->show();
    return app.exec();
}
Ui_MainWindow::Ui_MainWindow()
{
connect(pushButton, SIGNAL(clicked()), this, SLOT(rasschet()));
}
void Ui_MainWindow::rasschet()
{
далее процедура рассчета
}

есть ui_proga1.h
Код:
#ifndef UI_PROGA1_H
#define UI_PROGA1_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QLabel>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QSpinBox>
#include <QtGui/QStatusBar>
#include <QtGui/QTextEdit>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

class Ui_MainWindow: public QWidget
{
public:
    QAction *action_4;
    QAction *action_5;
    QAction *action_6;
    QAction *action_7;
    QAction *action_Ctrl_Q;
    QWidget *centralwidget;
    QSpinBox *spinBox;
    QTextEdit *textEdit;
    QPushButton *pushButton;
    QPushButton *pushButton_2;
    QLabel *label;
    QLabel *label_2;
    QStatusBar *statusbar;
    QMenuBar *menubar;
    QMenu *menu;
    QMenu *menu_2;
    QMenu *menu_3;

    public slots:
    void rasschet();

    void setupUi(QMainWindow *MainWindow)
    {
    if (MainWindow->objectName().isEmpty())
        MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
    MainWindow->setWindowModality(Qt::ApplicationModal);
    MainWindow->setEnabled(true);
    MainWindow->resize(385, 294);
    MainWindow->setMinimumSize(QSize(385, 294));
    MainWindow->setMaximumSize(QSize(385, 294));
    action_4 = new QAction(MainWindow);
    action_4->setObjectName(QString::fromUtf8("action_4"));
    action_4->setCheckable(true);
    action_4->setChecked(true);
    action_5 = new QAction(MainWindow);
    action_5->setObjectName(QString::fromUtf8("action_5"));
    action_5->setCheckable(true);
    action_6 = new QAction(MainWindow);
    action_6->setObjectName(QString::fromUtf8("action_6"));
    action_7 = new QAction(MainWindow);
    action_7->setObjectName(QString::fromUtf8("action_7"));
    action_Ctrl_Q = new QAction(MainWindow);
    action_Ctrl_Q->setObjectName(QString::fromUtf8("action_Ctrl_Q"));
    centralwidget = new QWidget(MainWindow);
    centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
    spinBox = new QSpinBox(centralwidget);
    spinBox->setObjectName(QString::fromUtf8("spinBox"));
    spinBox->setGeometry(QRect(50, 40, 161, 22));
    spinBox->setMaximum(10000000);
    textEdit = new QTextEdit(centralwidget);
    textEdit->setObjectName(QString::fromUtf8("textEdit"));
    textEdit->setGeometry(QRect(50, 110, 301, 71));
    textEdit->setReadOnly(true);
    pushButton = new QPushButton(centralwidget);
    pushButton->setObjectName(QString::fromUtf8("pushButton"));
    pushButton->setGeometry(QRect(250, 40, 101, 21));
    pushButton_2 = new QPushButton(centralwidget);
    pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
    pushButton_2->setGeometry(QRect(160, 210, 75, 23));
    label = new QLabel(centralwidget);
    label->setObjectName(QString::fromUtf8("label"));
    label->setGeometry(QRect(50, 20, 151, 16));
    label_2 = new QLabel(centralwidget);
    label_2->setObjectName(QString::fromUtf8("label_2"));
    label_2->setGeometry(QRect(50, 90, 151, 16));
    MainWindow->setCentralWidget(centralwidget);
    statusbar = new QStatusBar(MainWindow);
    statusbar->setObjectName(QString::fromUtf8("statusbar"));
    MainWindow->setStatusBar(statusbar);
    menubar = new QMenuBar(MainWindow);
    menubar->setObjectName(QString::fromUtf8("menubar"));
    menubar->setGeometry(QRect(0, 0, 385, 22));
    menu = new QMenu(menubar);
    menu->setObjectName(QString::fromUtf8("menu"));
    menu_2 = new QMenu(menubar);
    menu_2->setObjectName(QString::fromUtf8("menu_2"));
    menu_3 = new QMenu(menubar);
    menu_3->setObjectName(QString::fromUtf8("menu_3"));
    MainWindow->setMenuBar(menubar);
    QWidget::setTabOrder(spinBox, pushButton);
    QWidget::setTabOrder(pushButton, textEdit);
    QWidget::setTabOrder(textEdit, pushButton_2);

    menubar->addAction(menu->menuAction());
    menubar->addAction(menu_2->menuAction());
    menubar->addAction(menu_3->menuAction());
    menu->addAction(action_6);
    menu->addAction(action_7);
    menu->addAction(action_Ctrl_Q);
    menu_2->addAction(action_4);
    menu_2->addAction(action_5);

    retranslateUi(MainWindow);
    QObject::connect(pushButton_2, SIGNAL(clicked()), MainWindow, SLOT(close()));
    QObject::connect(action_Ctrl_Q, SIGNAL(triggered()), MainWindow, SLOT(close()));

    QMetaObject::connectSlotsByName(MainWindow);
    } // setupUi

    void retranslateUi(QMainWindow *MainWindow)
    {
    MainWindow->setWindowTitle(QApplication::translate("MainWindow", "\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\260 \342\204\2261 :)", 0, QApplication::UnicodeUTF8));
    action_4->setText(QApplication::translate("MainWindow", "\320\240\321\203\321\201\321\201\320\272\320\270\320\271", 0, QApplication::UnicodeUTF8));
    action_5->setText(QApplication::translate("MainWindow", "\320\220\320\275\320\263\320\273\320\270\320\271\321\201\320\272\320\270\320\271", 0, QApplication::UnicodeUTF8));
    action_6->setText(QApplication::translate("MainWindow", "\320\236 \320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\265", 0, QApplication::UnicodeUTF8));
    action_7->setText(QApplication::translate("MainWindow", "\320\236\320\261 \320\260\320\262\321\202\320\276\321\200\320\265", 0, QApplication::UnicodeUTF8));
    action_Ctrl_Q->setText(QApplication::translate("MainWindow", "\320\222\321\213\321\205\320\276\320\264", 0, QApplication::UnicodeUTF8));
    pushButton->setText(QApplication::translate("MainWindow", "\320\240\320\260\321\201\321\201\321\207\320\270\321\202\320\260\321\202\321\214", 0, QApplication::UnicodeUTF8));
    pushButton_2->setText(QApplication::translate("MainWindow", "\320\222\321\213\321\205\320\276\320\264", 0, QApplication::UnicodeUTF8));
    label->setText(QApplication::translate("MainWindow", "\320\222\320\262\320\265\320\264\320\270\321\202\320\265 \320\272\320\276\320\273\320\270\321\207\320\265\321\201\321\202\320\262\320\276 \321\201\320\265\320\272\321\203\320\275\320\264", 0, QApplication::UnicodeUTF8));
    label_2->setText(QApplication::translate("MainWindow", "\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202 \321\200\320\260\320\261\320\276\321\202\321\213 \320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213", 0, QApplication::UnicodeUTF8));
    menu->setTitle(QApplication::translate("MainWindow", "\320\244\320\260\320\271\320\273", 0, QApplication::UnicodeUTF8));
    menu_2->setTitle(QApplication::translate("MainWindow", "\320\257\320\267\321\213\320\272", 0, QApplication::UnicodeUTF8));
    menu_3->setTitle(QApplication::translate("MainWindow", "\320\237\320\276\320\274\320\276\321\211\321\214", 0, QApplication::UnicodeUTF8));
    } // retranslateUi

};

namespace Ui {
    class MainWindow: public Ui_MainWindow {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_PROGA1_H
надо привязать pushButton к выполнению процедуры рассчета
на то, как сделал я, компилятор ругается так: 'Ui_MainWindow::Ui_MainWindow' : cannot define a compiler-generated special member function (must be declared in the class first)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Октябрь 29, 2009, 17:59 »

Посмотри примеры, которые идут с кьютом, вопрос отпадет. И почитай какую-нибудь книжку.
По сабжу, нужно отнаследоваться от Ui::MainWindow и уже в том классе делать коннект.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Den2009
Гость
« Ответ #2 : Октябрь 30, 2009, 10:21 »

Спасиб, конечно, что не готовый код выложил, а намекнул, где истину искать... Посмотрел примеры, почитал книжку, сделал так...
main.cpp
Код:
#include <QApplication>
#include "ui_proga1.h"
#include "proga1.h"
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Ui::MainWindow mainWindow;
    QMainWindow *w = new QMainWindow;
    mainWindow.setupUi(w);
    w->show();
    return app.exec();
}
MainWindow::MainWindow(QMainWindow *parent)
    : QMainWindow(parent)
{
QPushButton *pushButton = new QPushButton;
QSpinBox *spinBox = new QSpinBox;
QObject::connect(pushButton, SIGNAL(clicked()), spinBox, SLOT(rasschet()));
}
void MainWindow::rasschet()
{
тут будет сама процедура рассчета написана
}
ui_proga1.h
Код:
#ifndef UI_PROGA1_H
#define UI_PROGA1_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QLabel>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QSpinBox>
#include <QtGui/QStatusBar>
#include <QtGui/QTextEdit>
#include <QtGui/QWidget>

QT_BEGIN_NAMESPACE

class Ui_MainWindow: public QWidget
{
public:
    QAction *action_4;
    QAction *action_5;
    QAction *action_6;
    QAction *action_7;
    QAction *action_Ctrl_Q;
    QWidget *centralwidget;
    QSpinBox *spinBox;
    QTextEdit *textEdit;
    QPushButton *pushButton;
    QPushButton *pushButton_2;
    QLabel *label;
    QLabel *label_2;
    QStatusBar *statusbar;
    QMenuBar *menubar;
    QMenu *menu;
    QMenu *menu_2;
    QMenu *menu_3;

    void setupUi(QMainWindow *MainWindow)
    {
    if (MainWindow->objectName().isEmpty())
        MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
    MainWindow->setWindowModality(Qt::ApplicationModal);
    MainWindow->setEnabled(true);
    MainWindow->resize(385, 294);
    MainWindow->setMinimumSize(QSize(385, 294));
    MainWindow->setMaximumSize(QSize(385, 294));
    action_4 = new QAction(MainWindow);
    action_4->setObjectName(QString::fromUtf8("action_4"));
    action_4->setCheckable(true);
    action_4->setChecked(true);
    action_5 = new QAction(MainWindow);
    action_5->setObjectName(QString::fromUtf8("action_5"));
    action_5->setCheckable(true);
    action_6 = new QAction(MainWindow);
    action_6->setObjectName(QString::fromUtf8("action_6"));
    action_7 = new QAction(MainWindow);
    action_7->setObjectName(QString::fromUtf8("action_7"));
    action_Ctrl_Q = new QAction(MainWindow);
    action_Ctrl_Q->setObjectName(QString::fromUtf8("action_Ctrl_Q"));
    centralwidget = new QWidget(MainWindow);
    centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
    spinBox = new QSpinBox(centralwidget);
    spinBox->setObjectName(QString::fromUtf8("spinBox"));
    spinBox->setGeometry(QRect(50, 40, 161, 22));
    spinBox->setMaximum(10000000);
    textEdit = new QTextEdit(centralwidget);
    textEdit->setObjectName(QString::fromUtf8("textEdit"));
    textEdit->setGeometry(QRect(50, 110, 301, 71));
    textEdit->setReadOnly(true);
    pushButton = new QPushButton(centralwidget);
    pushButton->setObjectName(QString::fromUtf8("pushButton"));
    pushButton->setGeometry(QRect(250, 40, 101, 21));
    pushButton_2 = new QPushButton(centralwidget);
    pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
    pushButton_2->setGeometry(QRect(160, 210, 75, 23));
    label = new QLabel(centralwidget);
    label->setObjectName(QString::fromUtf8("label"));
    label->setGeometry(QRect(50, 20, 151, 16));
    label_2 = new QLabel(centralwidget);
    label_2->setObjectName(QString::fromUtf8("label_2"));
    label_2->setGeometry(QRect(50, 90, 151, 16));
    MainWindow->setCentralWidget(centralwidget);
    statusbar = new QStatusBar(MainWindow);
    statusbar->setObjectName(QString::fromUtf8("statusbar"));
    MainWindow->setStatusBar(statusbar);
    menubar = new QMenuBar(MainWindow);
    menubar->setObjectName(QString::fromUtf8("menubar"));
    menubar->setGeometry(QRect(0, 0, 385, 22));
    menu = new QMenu(menubar);
    menu->setObjectName(QString::fromUtf8("menu"));
    menu_2 = new QMenu(menubar);
    menu_2->setObjectName(QString::fromUtf8("menu_2"));
    menu_3 = new QMenu(menubar);
    menu_3->setObjectName(QString::fromUtf8("menu_3"));
    MainWindow->setMenuBar(menubar);
    QWidget::setTabOrder(spinBox, pushButton);
    QWidget::setTabOrder(pushButton, textEdit);
    QWidget::setTabOrder(textEdit, pushButton_2);

    menubar->addAction(menu->menuAction());
    menubar->addAction(menu_2->menuAction());
    menubar->addAction(menu_3->menuAction());
    menu->addAction(action_6);
    menu->addAction(action_7);
    menu->addAction(action_Ctrl_Q);
    menu_2->addAction(action_4);
    menu_2->addAction(action_5);

    retranslateUi(MainWindow);
    QObject::connect(pushButton_2, SIGNAL(clicked()), MainWindow, SLOT(close()));
    QObject::connect(action_Ctrl_Q, SIGNAL(triggered()), MainWindow, SLOT(close()));

    QMetaObject::connectSlotsByName(MainWindow);
    } // setupUi

    void retranslateUi(QMainWindow *MainWindow)
    {
    MainWindow->setWindowTitle(QApplication::translate("MainWindow", "\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\260 \342\204\2261 :)", 0, QApplication::UnicodeUTF8));
    action_4->setText(QApplication::translate("MainWindow", "\320\240\321\203\321\201\321\201\320\272\320\270\320\271", 0, QApplication::UnicodeUTF8));
    action_5->setText(QApplication::translate("MainWindow", "\320\220\320\275\320\263\320\273\320\270\320\271\321\201\320\272\320\270\320\271", 0, QApplication::UnicodeUTF8));
    action_6->setText(QApplication::translate("MainWindow", "\320\236 \320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\265", 0, QApplication::UnicodeUTF8));
    action_7->setText(QApplication::translate("MainWindow", "\320\236\320\261 \320\260\320\262\321\202\320\276\321\200\320\265", 0, QApplication::UnicodeUTF8));
    action_Ctrl_Q->setText(QApplication::translate("MainWindow", "\320\222\321\213\321\205\320\276\320\264", 0, QApplication::UnicodeUTF8));
    pushButton->setText(QApplication::translate("MainWindow", "\320\240\320\260\321\201\321\201\321\207\320\270\321\202\320\260\321\202\321\214", 0, QApplication::UnicodeUTF8));
    pushButton_2->setText(QApplication::translate("MainWindow", "\320\222\321\213\321\205\320\276\320\264", 0, QApplication::UnicodeUTF8));
    label->setText(QApplication::translate("MainWindow", "\320\222\320\262\320\265\320\264\320\270\321\202\320\265 \320\272\320\276\320\273\320\270\321\207\320\265\321\201\321\202\320\262\320\276 \321\201\320\265\320\272\321\203\320\275\320\264", 0, QApplication::UnicodeUTF8));
    label_2->setText(QApplication::translate("MainWindow", "\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202 \321\200\320\260\320\261\320\276\321\202\321\213 \320\277\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213", 0, QApplication::UnicodeUTF8));
    menu->setTitle(QApplication::translate("MainWindow", "\320\244\320\260\320\271\320\273", 0, QApplication::UnicodeUTF8));
    menu_2->setTitle(QApplication::translate("MainWindow", "\320\257\320\267\321\213\320\272", 0, QApplication::UnicodeUTF8));
    menu_3->setTitle(QApplication::translate("MainWindow", "\320\237\320\276\320\274\320\276\321\211\321\214", 0, QApplication::UnicodeUTF8));
    } // retranslateUi

};

namespace Ui {
    class MainWindow: public Ui_MainWindow {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_PROGA1_H

создал еще файл, подобный, как в примере
proga1.h
Код:
#ifndef PROGA1_H
#define PROGA1_H
#include <QMainWindow>
#include "ui_proga1.h"

class MainWindow : public QMainWindow, public Ui::MainWindow
{
    Q_OBJECT

public:
    MainWindow(QMainWindow *parent = 0);

private slots:
    rasschet(int);
};

#endif

компилятор выдает такое:
c:\project\proga1.h:16: warning:  missing type specifier - int assumed. Note: C++ does not support default-int
c:\project\proga1.h:16: warning:  'rasschet': missing return type; assumed to be a member function returning 'int'
C:/Project/./main.cpp:21: error:  'void MainWindow::rasschet(void)' : overloaded member function not found in 'MainWindow'

Если в файле proga1.h вместо
private slots:
    rasschet(int);
написать
private slots:
    rasschet();
компилятор выдает первые 2 ошибки теже
C:/Project/./main.cpp:21: error:  'void MainWindow::rasschet(void)' : overloaded function differs only by return type from 'int MainWindow::rasschet(void)'
C:/Project/./main.cpp:21: error:  'MainWindow::rasschet' : redefinition; different basic types

че не так???
Записан
Den2009
Гость
« Ответ #3 : Октябрь 30, 2009, 10:35 »

сорри... сам ступил
надо вот так...
private slots:
   void rasschet();

компилится без ошибок, но при нажатии кнопки выполнить или дебаг в QTCreator вылазит такое окно:
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Октябрь 30, 2009, 12:37 »

proga1.cpp
Код
C++ (Qt)
#include "proga1.h"
MainWindow::MainWindow(QMainWindow *parent)
   : QMainWindow(parent)
{
   QObject::connect(pushButton, SIGNAL(clicked()), this, SLOT(rasschet()));
}
void MainWindow::rasschet()
{
тут будет сама процедура рассчета написана
}
 
main.cpp
Код
C++ (Qt)
#include <QApplication>
#include "ui_proga1.h"
#include "proga1.h"
int main(int argc, char *argv[])
{
   QApplication app(argc, argv);
   Ui::MainWindow mainWindow;
   QMainWindow *w = new QMainWindow;
   mainWindow.setupUi(w);
   w->show();
   return app.exec();
}
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
BRE
Гость
« Ответ #5 : Октябрь 30, 2009, 12:41 »

Не получиться.
У камрада Den2009 pushButton определена в Ui::MainWindow.
В MainWindow доступа к ней нет:
Код
C++ (Qt)
MainWindow::MainWindow(QMainWindow *parent)
   : QMainWindow(parent)
{
   QObject::connect(pushButton, SIGNAL(clicked()), this, SLOT(rasschet()));
}
 

А посмотреть примеры и создавать Ui::MainWindow в MainWindow или наследоваться от него он почему-то не хочет.  Подмигивающий
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Октябрь 30, 2009, 12:50 »

Мда... Давно я формы в дизайнере не клепал, подзабыл маленько.
Автору прочитать первые несколько глав любой книги по Кьюте.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Den2009
Гость
« Ответ #7 : Октябрь 30, 2009, 14:03 »

Не получиться.
У камрада Den2009 pushButton определена в Ui::MainWindow.
В MainWindow доступа к ней нет:
Код
C++ (Qt)
MainWindow::MainWindow(QMainWindow *parent)
   : QMainWindow(parent)
{
   QObject::connect(pushButton, SIGNAL(clicked()), this, SLOT(rasschet()));
}
 

А посмотреть примеры и создавать Ui::MainWindow в MainWindow или наследоваться от него он почему-то не хочет.  Подмигивающий

Почему не хочу? хочу... я и так на основе примера делал...
как создать Ui::MainWindow в MainWindow?
так?
Ui::MainWindow mainWindow;
Записан
BRE
Гость
« Ответ #8 : Октябрь 30, 2009, 14:13 »

Вариант 1
Код
C++ (Qt)
class MainWindow : public QMainWindow, public Ui::MainWindow
{
...
};
 
MainWindow::MainWindow()
{
setupUi( this );
connect( pushButton, SIGNAL( clicked() ), this, SLOT( rasschet() ) );
}
 

Вариант 2
Код
C++ (Qt)
class MainWindow : public QMainWindow
{
...
private:
Ui::MainWindow ui;
};
 
MainWindow::MainWindow()
{
ui.setupUi( this );
connect( ui.pushButton, SIGNAL( clicked() ), this, SLOT( rasschet() ) );
}
 
Записан
Den2009
Гость
« Ответ #9 : Октябрь 30, 2009, 14:34 »

получилось вот что:
proga1.h
Код:
#ifndef PROGA1_H
#define PROGA1_H
#include <QMainWindow>
#include "ui_proga1.h"

class MainWindow : public QMainWindow, public Ui::MainWindow
{
    Q_OBJECT

private slots:
    void rasschet();
private:
        Ui::MainWindow ui;
};

MainWindow::MainWindow()
{
        ui.setupUi(this);
        connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(rasschet()));
}
#endif

main.cpp
Код:
#include <QApplication>
#include "ui_proga1.h"
#include "proga1.h"
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Ui::MainWindow mainWindow;
    QMainWindow *w = new QMainWindow;
    mainWindow.setupUi(w);
    w->show();
    return app.exec();
}
void MainWindow::rasschet()
{
}
ошибки компилятора:
c:\project\proga1.h:17: error:  'MainWindow::MainWindow' : cannot define a compiler-generated special member function (must be declared in the class first)
c:\project\proga1.h:19: error:  ambiguous access of 'connect'
c:\project\proga1.h:19: error:  'argument' : ambiguous conversions from 'MainWindow *const ' to 'const QObject *'
c:\project\proga1.h:19: error:  'connect': identifier not found
Записан
BRE
Гость
« Ответ #10 : Октябрь 30, 2009, 14:40 »

proga1.h
Код
C++ (Qt)
#ifndef PROGA1_H
#define PROGA1_H
 
#include <QMainWindow>
#include "ui_proga1.h"
 
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
 
private slots:
void rasschet();
 
private:
Ui::MainWindow ui;
};
 
MainWindow::MainWindow()
{
       ui.setupUi( this );
       connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(rasschet()));
}
#endif
 

main.cpp
Код
C++ (Qt)
#include <QApplication>
#include "proga1.h"
 
int main(int argc, char *argv[])
{
   QApplication app(argc, argv);
   QMainWindow *w = new QMainWindow;
   w->show();
   return app.exec();
}
 
void MainWindow::rasschet()
{
}
 

И скажи честно ты в файле ui_proga1.h руками ничего не добавлял?  Подмигивающий
« Последнее редактирование: Октябрь 30, 2009, 14:46 от BRE » Записан
Den2009
Гость
« Ответ #11 : Октябрь 30, 2009, 14:48 »

вылезает тоже самое окно, скрин которого я выкладывал
Записан
BRE
Гость
« Ответ #12 : Октябрь 30, 2009, 14:52 »

вылезает тоже самое окно, скрин которого я выкладывал
Я не пойму, у тебя оно то компилируется, но завершается с ошибкой, то выдает это окно?
Записан
Den2009
Гость
« Ответ #13 : Октябрь 30, 2009, 15:02 »

я вставил твой код вместо своего в proga1.h и в main.cpp
компилируется нормально, но при запуске вылазит окно которое на скрине...
Записан
BRE
Гость
« Ответ #14 : Октябрь 30, 2009, 15:31 »

я вставил твой код вместо своего в proga1.h и в main.cpp
компилируется нормально, но при запуске вылазит окно которое на скрине...
Я вообще-то QtCreator'ом не пользуюсь.... Попробуй нажать "Обзор" рядом с полем "Программа" и найти свой экзешник.
Записан
Страниц: [1] 2 3 ... 12   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.234 секунд. Запросов: 23.