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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с QGroupBox::isChecked()  (Прочитано 4036 раз)
Founder
Гость
« : Март 02, 2010, 15:17 »

Код
C++ (Qt)
"dialog.h"
#ifndef DIALOG_H
#define DIALOG_H
 
class QComboBox;
class QGroupBox;
 
class Dialog : public QDialog
{
   Q_OBJECT
 
 
private slots:
   void get();
 
private:
   QGroupBox *groupBox;
   QComboBox *x2ComboBox;
};
 
#endif
 
 
"dialog.cpp"
Dialog::Dialog(QWidget *parent) : QDialog(parent)
{
   QGroupBox *groupBox = new QGroupBox(tr("Использовать второй аргумент"));
   groupBox->setCheckable(true);
   groupBox->setChecked(true);
 
   QLabel *x2Label = new QLabel(tr("Выберите второй аргумент"));
   x2ComboBox = new QComboBox;
   x2ComboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
 
   QVBoxLayout *X2Layout = new QVBoxLayout;
   X2Layout->addWidget(x2Label);
   X2Layout->addWidget(x2ComboBox);
   groupBox->setLayout(X2Layout);
}
 
void Dialog::get() {
   groupBox->isChecked()
}
 
« Последнее редактирование: Март 02, 2010, 15:35 от Founder » Записан
Founder
Гость
« Ответ #1 : Март 02, 2010, 15:18 »

При попытке узнать статус isChecked(), программа выдает ошибку...Грустный
Записан
BRE
Гость
« Ответ #2 : Март 02, 2010, 15:26 »

При попытке узнать статус isChecked(), программа выдает ошибку...Грустный
Так и должно быть.
groupBox не инициализирован в конструкторе.
На самом деле, ты используешь локальную переменную для хранения указателя:
Код
C++ (Qt)
Dialog::Dialog(QWidget *parent) : QDialog(parent)
{
   QGroupBox *groupBox = ...
 
Записан
Founder
Гость
« Ответ #3 : Март 02, 2010, 15:30 »

Так и должно быть.
groupBox не инициализирован в конструкторе.
На самом деле, ты используешь локальную переменную для хранения указателя:
Код
C++ (Qt)
Dialog::Dialog(QWidget *parent) : QDialog(parent)
{
   QGroupBox *groupBox = ...
 
Так я его инициализировал в конструкторе...
Записан
Akaiten
Гость
« Ответ #4 : Март 02, 2010, 15:42 »

Тебе же правильно пишет товарищ BRE: groupBox в Dialog::Dialog() и groupBox в Dialog::get() две разные переменные.
Так будет верно:
Код
C++ (Qt)
Dialog::Dialog(QWidget *parent) : QDialog(parent)
{
   groupBox = ...
}
 
Записан
Founder
Гость
« Ответ #5 : Март 02, 2010, 15:59 »

Сорри за тупость.Улыбающийся Спасибо огромное!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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