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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: В сборке Release пропадает связь SIGNAL-SLOT  (Прочитано 2446 раз)
AlexNKovalev
Гость
« : Февраль 02, 2015, 14:00 »

Простейший проект: приложение Qt widget. Добавляю кнопку на mainWindow.
Связываю ее clicked() со слотом с помощью connect.
Под отладчиком - работает. в Release - те хочет...

заголовочный текст:
Код
C++ (Qt)
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
   Q_OBJECT
 
public:
   explicit MainWindow(QWidget *parent = 0);
   ~MainWindow();
 
private:
   Ui::MainWindow *ui;
   int count;
public slots:
   void slot_1();
};
 
#endif // MAINWINDOW_H
 
CPP:
Код
C++ (Qt)
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
   QMainWindow(parent),
   ui(new Ui::MainWindow)
{
   ui->setupUi(this);
   Q_ASSERT( connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(slot_1()) ) );
   ui->lineEdit->setText("Init");
   count = 1;
}
 
MainWindow::~MainWindow()
{
   delete ui;
}
 
void MainWindow::slot_1()
{
   QString s;
   s.sprintf("slot: %d", count++);
   ui->lineEdit->setText(s);
}
 
« Последнее редактирование: Февраль 02, 2015, 15:39 от Пантер » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #1 : Февраль 02, 2015, 14:03 »

Q_ASSERT в релизной сборке вырезается компилятором. Учи c++.
Записан

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

Спасибо большое.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Февраль 02, 2015, 15:37 »

QString::sprintf() используй только когда QString::arg() не способен выдать нужный результат
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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