Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
1

Qt designer + visual studio2008 как их совместить

02.12.2011, 21:29. Показов 2649. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я начал изучать библиотеку QT,
записал QT Addin для vs2008)
кокда создаю новый проект QT
палучаю пару файлов с названием класса, и один который при нажатии даёт возможность
редактировать форму с QTDesign, но как потом к созданным элементам
на форме добавить функции работы
к примеру штоб кнопка праписавала в лабле "hellow word"
Эсли можете опишите пошаговые действия.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2011, 21:29
Ответы с готовыми решениями:

Как программировать для Android на Visual Studio2008
Кто подскажет каким образом можно разрабатывать приложения для Android на Visual Studio2008, очень...

Не работает Android Designer под Visual Studio
Доброго всем дня! Решил попробовать себя в Xamarin. Создал проект на Single View в Visual Studio...

Как совместить
Всем привет. Вопрос такой, как поставить убунту, если уже стоит win7, проще ли снеси ее и после...

Как совместить XP и DOS?
Здраствуйте дорогие друзья. У меня большая проблема. Есть ноут, на котором стоит XP, и сделан образ...

13
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
02.12.2011, 22:12 2
ну вам бы все же книги почитать!
в конструкторе класса-формы пишешь:
C++
1
QObject::connect(ui->pushbuton, SIGNAL(clicked()), this, SLOT(editlabel()));
где editlabel это метод этого же класса вот такого содержания:
C++
1
2
3
4
void Class::editlable()
{
     ui->label->setText("Hello World");
}
0
sandye51
02.12.2011, 22:31
  #3

Не по теме:

Цитата Сообщение от Чистый Посмотреть сообщение
ну вам бы все же книги почитать!
причем по русскому в первую очередь

0
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
03.12.2011, 00:56  [ТС] 4
может какую книгу по этому посоветовал бы, на русском лучше

Добавлено через 42 минуты
вот запускаю новый проект и сразу палуциаю бот такой зборник фаилов
http://imageshack.us/photo/my-... jprst.jpg/
реальна запутался что где писать?


вот нашел вроде простые туториалы,
http://doc.crossplatform.ru/qt... al-t1.html
тут как бы два файла pro и cpp
почему как я делаю проект у меня фик знает скока фаилов,
а по примеру не даёт тот код нигде писать.

пожалуйста помоги, а то в интернете инфа про QTcreator есть а про designer ваше нет.
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
03.12.2011, 13:53 5
а что в дизайнере вам не понятно? набросали компонентов а потом в коде через ui обращайтесь к этим компонентам! На фото у вас много файлов т.к. Вы используете VS и она их все показывает в то время как QtCreator файлы moc и ui_filename.h скрывает т.к. эти фалы не должны редактироваться пользователем, и все же для начала я бы вам посоветовал поработать c QtCreator и лишь поням там идеалогию Qt переходить на VS если останется желание ....
0
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
03.12.2011, 16:51  [ТС] 6
а в котором из файлов вписывать обращение через ui
где нужно инициализировать ui как указатель к объектам.
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
03.12.2011, 18:35 7
как только вы создали класс формы у вас должно быть 3 файла file.h (заголовочный) file.cpp (реализация) и file.ui (файл формы) вот и работайте c файлами file.h и file.cpp
0
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
04.12.2011, 16:36  [ТС] 8
имеем три файла
learn.h,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef LEARN_H
#define LEARN_H
 
#include <QtGui/QMainWindow>
#include "ui_learn.h"
 
class learn : public QMainWindow
{
    Q_OBJECT
 
public:
    learn(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~learn();
 
private:
    Ui::learnClass *ui;
public slots:
    void editlabel();
};
 
#endif // LEARN_H
learn.cpp,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "learn.h"
 
learn::learn(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
 
    QObject::connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(editlabel()));
    ui->setupUi(this);
}
 
learn::~learn()
{
}
void learn::editlabel()
{
    ui->label->setText("Hellow");
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
#include "learn.h"
#include <QtGui/QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    learn w;
    w.show();
    return a.exec();
}
при запуске ошибок нет, но сама форма не пявляется.
В чём может быть проблема?
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
04.12.2011, 17:06 9
в файле cpp вот такой должен быть конструктор у тебя:

C++
1
learn::learn(QWidget *parent, Qt::WFlags flags): QMainWindow(parent, flags), ui(new Ui::learn)
а в файле h строку:
C++
1
 Ui::learnClass *ui;
замени на:
C++
1
Ui::learn *ui
1
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
04.12.2011, 17:17  [ТС] 10
еррор
learn.h(16) : error C2039: 'learn' : is not a member of 'Ui'

Добавлено через 3 минуты
вот если что файл формы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/********************************************************************************
** Form generated from reading UI file 'learn.ui'
**
** Created: Sun Dec 4 15:15:28 2011
**      by: Qt User Interface Compiler version 4.7.4
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
 
#ifndef UI_LEARN_H
#define UI_LEARN_H
 
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
#include <QtGui/QPushButton>
#include <QtGui/QToolBar>
#include <QtGui/QWidget>
 
QT_BEGIN_NAMESPACE
 
class Ui_learnClass
{
public:
    QWidget *centralWidget;
    QPushButton *pushButton;
    QLabel *label;
    QLineEdit *lineEdit;
    QToolBar *mainToolBar;
 
    void setupUi(QMainWindow *learnClass)
    {
        if (learnClass->objectName().isEmpty())
            learnClass->setObjectName(QString::fromUtf8("learnClass"));
        learnClass->resize(148, 122);
        centralWidget = new QWidget(learnClass);
        centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
        pushButton = new QPushButton(centralWidget);
        pushButton->setObjectName(QString::fromUtf8("pushButton"));
        pushButton->setGeometry(QRect(40, 20, 75, 23));
        label = new QLabel(centralWidget);
        label->setObjectName(QString::fromUtf8("label"));
        label->setGeometry(QRect(50, 50, 46, 13));
        lineEdit = new QLineEdit(centralWidget);
        lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
        lineEdit->setGeometry(QRect(20, 70, 113, 20));
        learnClass->setCentralWidget(centralWidget);
        mainToolBar = new QToolBar(learnClass);
        mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
        learnClass->addToolBar(Qt::TopToolBarArea, mainToolBar);
 
        retranslateUi(learnClass);
        QObject::connect(pushButton, SIGNAL(clicked()), lineEdit, SLOT(clear()));
 
        QMetaObject::connectSlotsByName(learnClass);
    } // setupUi
 
    void retranslateUi(QMainWindow *learnClass)
    {
        learnClass->setWindowTitle(QApplication::translate("learnClass", "learn", 0, QApplication::UnicodeUTF8));
        pushButton->setText(QApplication::translate("learnClass", "PushButton", 0, QApplication::UnicodeUTF8));
        label->setText(QApplication::translate("learnClass", "TextLabel", 0, QApplication::UnicodeUTF8));
    } // retranslateUi
 
};
 
namespace Ui {
    class learnClass: public Ui_learnClass {};
} // namespace Ui
 
QT_END_NAMESPACE
 
#endif // UI_LEARN_H
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
04.12.2011, 17:35 11
у вас код формы и код который должен использовать форму должны быть в одном классе, вот и редактируй. получается что класс должен быть не learn а learnClass
0
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
04.12.2011, 18:55  [ТС] 12
а как их соединить, если тот последний он пишется авто и не может быть модифицирован
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
04.12.2011, 19:51 13
Цитата Сообщение от KONO Посмотреть сообщение
а как их соединить, если тот последний он пишется авто и не может быть модифицирован
последний не надо трогать, трогай то что можно т.е. h и cpp
0
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 21
05.12.2011, 00:09  [ТС] 14
а разви есть разница,
класс в адном фаиле, и класс в разных то есть в .h и .cpp

Добавлено через 4 часа 8 минут
крч, спасибо за помощь, я это ценю
тем не менее я перешел на netbeans там вроде всё получилось
0
05.12.2011, 00:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2011, 00:09
Помогаю со студенческими работами здесь

Как совместить фильтры
Как можно фильтры совместить? То, как у меня получается, срабатывает только последний фильтр:...

как совместить графики
Имеется серия экспериментов, где определяется сила тяги двигателя с пропеллером в зависимости от...

Как совместить 2 exe файла в 1
Как совместить 2 exe файла в 1 что то на подобии криптора

PHP + MySQl как совместить
Всем доброго времени суток! Нужна помощб Есть хтмл страница в которой есть три текстовые формы и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru