Russian Qt Forum

Qt => Вопросы новичков => Тема начата: AlexNKovalev от Февраль 02, 2015, 14:00



Название: В сборке Release пропадает связь SIGNAL-SLOT
Отправлено: 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);
}
 


Название: Re: В сборке Release пропадает связь SIGNAL-SLOT
Отправлено: Пантер от Февраль 02, 2015, 14:03
Q_ASSERT в релизной сборке вырезается компилятором. Учи c++.


Название: Re: В сборке Release пропадает связь SIGNAL-SLOT
Отправлено: AlexNKovalev от Февраль 02, 2015, 14:21
Спасибо большое.


Название: Re: В сборке Release пропадает связь SIGNAL-SLOT
Отправлено: kambala от Февраль 02, 2015, 15:37
QString::sprintf() используй только когда QString::arg() не способен выдать нужный результат