crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> qt & Visual studio 2010, Нет соединения в сигналах и слотах
eldar85
  опции профиля:
сообщение 21.10.2011, 13:14
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день. Раньше программировал в кьти креаторе и не задумывалсячто может возникнуть проблема в подключении сигналов и слотов.
Потом стал программировать на VS и на пол года оставил Qt, но видя какие ужасные интерфейсы получаются на VS решил подключить Qt в VS2010, всю ночь мучался с подключением, установил автоматом Qt c утилитой add_in_vs с офф сайта Qt, но оказалось что это только начало и придется сильно повазиться) но эту мат часть с горем попалам одалел, 3х часавая сборка библиотек с jim.exe и прописывание патчей в переменные среды помогла и вот я уже сделал Qt окно в дизайнере, открыт проект в vs2010, все отлично, но!!!

примерчик то собвственно простой пока, тут только textEdit и кнопочка, просто попробовать все ли работает. В дизайнере кака я понял нельзя щелкнуть правой кнопкой мыши и выбрать перейти к слоту, создал паблик слот в MainWindow, и попробовал сразу из конструктора написать текс в textEdit и отлично написалось.
затем сделал в том же конструкторе коннект кнопки и слоты и тишина... Даже когда пишешь сам конект, обычно вылазиют посказки что мол есть у кнопки такие то слоты и можно выбрать, тут же нет ни одного события которое можно выбрать у кнопки. т.е. я пишу так
QObject::connect(ui.btPushMe, SIGNAL( //и тут уже долны вылезти посказки
но ничего нет, прописал полностью от руки сигнал clicked()
QObject::connect(ui.btPushMe, SIGNAL(clicked()), this, SLOT(ShowText()));

и ничего не происходит при нажатии на кнопку...

ну и для наглядности покажу весь код чтобы более понятно было
#ifndef MYCLASS_H
#define MYCLASS_H

#include <QtGui>
#include "ui_myclass.h"

class MyClass : public QMainWindow
{
    Q_OBJECT

public:
    MyClass(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~MyClass();

private:
    Ui::MyClassClass ui;

public slots:
    void ShowText();
};

#endif // MYCLASS_H

#include "stdafx.h"
#include "myclass.h"

MyClass::MyClass(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
    ui.setupUi(this);

    QObject::connect(ui.btPushMe, SIGNAL(clicked()), this, SLOT(ShowText()));
    ShowText();
}

MyClass::~MyClass()
{

}

void MyClass::ShowText()
{
    ui.textEdit->append("Ura!!!");
}

Как быть? Подскажите пожалуйста. ЗАранее благодарю ;)

Сообщение отредактировал eldar85 - 21.10.2011, 13:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
eldar85
  опции профиля:
сообщение 21.10.2011, 14:23
Сообщение #2


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


решил все еще раз перекомпилировать как написано здесь
Link
сижу вот жду когда закончиться, ночью на это ушло часа три где то, но вылезло парочка ошибок. На всякий пожарный решил перекомпилить.
А в консоль ничего не выводилось, как будто и ошибок то нет. Открывается мое окошечко с текст эдитом и кнопкой, пишется в текст эдите один раз то что я вызвал в конструкторе слот
ShowText();

а потом при нажатии на кнопку просто тишина и все. Никаких сообщений в консоли ну и сигнал слот не срабатывает...

Сообщение отредактировал eldar85 - 21.10.2011, 14:28
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.12.2025, 10:02