crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> QDialog, Debug, Release., Отличие дебага от релиза.
dezconnect
  опции профиля:
сообщение 25.4.2010, 18:59
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.4.2010
Пользователь №: 1658

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




Репутация:   0  


есть две формы.

одна вызывает другую через слот:

void OrionBoard::showAbout(){
abDialog = new AboutDlg(this);
abDialog->setVisible(true);
}

В релизе форма появляется.
В режиме дебага ничего не происходит, куда копать ?

сам пробывал снести все нафиг либы и собрать проект с нуля. не помогло =(

Или же я просто не правильно вызываю окно ? Заодно можете рассказать как это окошко потом скрыть =) пока пробывал через слот accept() окошко никуда не исчезает....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 25.4.2010, 19:20
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Я так понимаю, что AboutDlg наследник QDialog?
Если да, тогда попробуй так:

void OrionBoard::showAbout()
{
    AboutDlg abDialog( this );
    abDialog.exec();
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dezconnect
  опции профиля:
сообщение 25.4.2010, 19:41
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.4.2010
Пользователь №: 1658

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




Репутация:   0  


Цитата(BRE @ 26.4.2010, 0:20) *
Я так понимаю, что AboutDlg наследник QDialog?
Если да, тогда попробуй так:

void OrionBoard::showAbout()
{
    AboutDlg abDialog( this );
    abDialog.exec();
}


AboutDlg да наследник QDialog
пробывал, не помогает. (на всякий случай еще раз проверил результат тот же).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
quarz
  опции профиля:
сообщение 25.4.2010, 20:18
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 3.11.2009
Пользователь №: 1202

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




Репутация:   0  


Цитата(dezconnect @ 25.4.2010, 19:59) *
В релизе форма появляется.
В режиме дебага ничего не происходит, куда копать ?


проверь настройки проекта для дебага, мне кажется ты забыл что-то подключить. Еще посмотри в окно Output когда запускаешь программу в дебаге.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 25.4.2010, 20:18
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(dezconnect @ 25.4.2010, 20:41) *
пробывал, не помогает. (на всякий случай еще раз проверил результат тот же).

В смысле в debug окно не появляется?

А программа работает нормально, только этот диалог не открывается?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dezconnect
  опции профиля:
сообщение 25.4.2010, 20:24
Сообщение #6


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.4.2010
Пользователь №: 1658

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




Репутация:   0  


Цитата(BRE @ 26.4.2010, 1:18) *
Цитата(dezconnect @ 25.4.2010, 20:41) *
пробывал, не помогает. (на всякий случай еще раз проверил результат тот же).

В смысле в debug окно не появляется?

А программа работает нормально, только этот диалог не открывается?



Программа да нормально работает, но это мой первый опыт работы с несколькими формами в Qt. И форма вообщем то тоже первая =) Есть подозрения что Qt криво собралось, но не хочется об этом даже и думать... времени на пересборку нету, завтра желательно заказчику сдать проект =)

Ну в том плане что собираю в релизе - окно есть(но не закрыватеся), собираю в дебаге - окошко после клика не появляется...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 25.4.2010, 20:32
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(dezconnect @ 25.4.2010, 21:24) *
Ну в том плане что собираю в релизе - окно есть(но не закрыватеся), собираю в дебаге - окошко после клика не появляется...

А по какому событию пользователя ты хочешь, что бы оно закрывалось?
Если на крестик нажать - оно закрывается? Или если на Esc нажать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dezconnect
  опции профиля:
сообщение 26.4.2010, 5:38
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.4.2010
Пользователь №: 1658

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




Репутация:   0  


Цитата(BRE @ 26.4.2010, 1:32) *
Цитата(dezconnect @ 25.4.2010, 21:24) *
Ну в том плане что собираю в релизе - окно есть(но не закрыватеся), собираю в дебаге - окошко после клика не появляется...

А по какому событию пользователя ты хочешь, что бы оно закрывалось?
Если на крестик нажать - оно закрывается? Или если на Esc нажать?


ну на QDialog есть QPushButton по его clicked() вызывается accept().

По Esc и крестику закрывается... Q_OBJECT в классе есть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 26.4.2010, 10:22
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Покажи исходники диалога AboutDlg.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dezconnect
  опции профиля:
сообщение 27.4.2010, 12:33
Сообщение #10


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 25.4.2010
Пользователь №: 1658

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




Репутация:   0  


Цитата(BRE @ 26.4.2010, 15:22) *
Покажи исходники диалога AboutDlg.


h:
#include <QtGui>
#ifndef _ABOUTDLG_H
#define    _ABOUTDLG_H

class AboutDlg: public QDialog {
    Q_OBJECT
public:
    AboutDlg(QWidget *parent = 0);
    virtual ~AboutDlg();

private:
    QLabel          *lbText;
    QPushButton     *btnOk;
    
};

#endif    /* _ABOUTDLG_H */


cpp:

#include "AboutDlg.h"

AboutDlg::AboutDlg(QWidget *parent): QDialog(parent) {
    setFixedSize(200,100);
    lbText = new QLabel("About as....", this);
    btnOk = new QPushButton("OK", this);
    
    connect(btnOk, SLOT(clicked()), this, SIGNAL(accept()));
}


AboutDlg::~AboutDlg() {
    
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 20.4.2024, 6:19