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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите новичку  (Прочитано 2321 раз)
Zepzep
Гость
« : Сентябрь 08, 2010, 11:14 »

Привет, начал осваивать как сам C++ так и qt. Пробую работать с объектами формы, используя простейшее действие - нажатие кнопки.
Код
C++ (Qt)
void Widget::on_pushButton_clicked()
{
   this->setWindowTitle("Success");
   this->pushButton->setText("Success");
}
Заголовок окна меняется, на изменении текста кнопки программа вылетает.
Вот widget.h
Код
C++ (Qt)
#ifndef WIDGET_H
#define WIDGET_H
 
#include <QWidget>
 
QT_BEGIN_NAMESPACE
class QPushButton;
QT_END_NAMESPACE
 
namespace Ui {
   class Widget;
}
 
class Widget : public QWidget
{
   Q_OBJECT
 
public:
   explicit Widget(QWidget *parent = 0);
   ~Widget();
   QPushButton *pushButton;
 
private:
   Ui::Widget *ui;
 
private slots:
   void on_pushButton_clicked();
};
 
#endif // WIDGET_H
Подскажите, где ошибка, или не хватает чего-то?
Записан
BRE
Гость
« Ответ #1 : Сентябрь 08, 2010, 11:19 »

Я так думаю, что кнопка все таки лежит в Ui::Widget?
А указатель на кнопку определенная в Widget никак не инициализируется?
Записан
Zepzep
Гость
« Ответ #2 : Сентябрь 08, 2010, 11:24 »

Мм.. я не очень понял.. Кнопку я перетащил на форму в дизайне..
Пожалуйста, примерно опишите, как следовало сделать.
Записан
BRE
Гость
« Ответ #3 : Сентябрь 08, 2010, 11:26 »

Код
C++ (Qt)
void Widget::on_pushButton_clicked()
{
   this->setWindowTitle("Success");
   this->ui->pushButton->setText("Success");
}
А из класса Widget убери определение указателя:
QPushButton *pushButton;
Записан
Zepzep
Гость
« Ответ #4 : Сентябрь 08, 2010, 11:27 »

Большое спасибо =)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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