Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Mityai от Ноябрь 23, 2009, 17:09



Название: QGroupBox в QDockWidget
Отправлено: Mityai от Ноябрь 23, 2009, 17:09
Здравствуйте! Проблема в следующем - при создании в главном окне QGroupBox помещенные в него контролзы (как например, QRadioButton) связываются и работают отдельно от остальных QRadioButton присутствующих в этом окне.

ui_mwindow.h:
Код:
class Ui_MWindow
{
public:
    QWidget *centralWidget;
  
    QGroupBox *groupBox;

    QRadioButton *radioButton;
    QRadioButton *radioButton_2;
    QRadioButton *radioButton_3;

   void setupUi(QDockWidget *WInfo)
    {
        centralWidget = new QWidget(MWindow);
        centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
        centralWidget->setEnabled(true);

        groupBox = new QGroupBox(centralWidget);
        groupBox->setObjectName(QString::fromUtf8("groupBox"));
        groupBox->setGeometry(QRect(100, 490, 120, 80));
        
        radioButton = new QRadioButton(groupBox);
        radioButton->setObjectName(QString::fromUtf8("radioButton"));
        radioButton->setGeometry(QRect(20, 20, 84, 18));

        radioButton_2 = new QRadioButton(groupBox);
        radioButton_2->setObjectName(QString::fromUtf8("radioButton_2"));
        radioButton_2->setGeometry(QRect(20, 50, 84, 18));

        radioButton_3 = new QRadioButton(centralWidget);
        radioButton_3->setObjectName(QString::fromUtf8("radioButton_3"));
        radioButton_3->setGeometry(QRect(260, 560, 84, 18));

        MWindow->setCentralWidget(centralWidget);

        QMetaObject::connectSlotsByName(MWindow);
    } // setupUi
};

Однако, при попытке сделать точно такую же операцию в QDockWidget окне столкнулся с тем, что контролзы в QGroupBox даже не отображаются.

ui_info.h:
Код:
class Ui_WInfo
{
public:
    QWidget *dockWidgetContents;

    QGroupBox *groupBox;

    QRadioButton *radioButton;
    QRadioButton *radioButton_2;
    QRadioButton *radioButton_3;

    void setupUi(QDockWidget *WInfo)
    {
        dockWidgetContents = new QWidget();
        dockWidgetContents->setObjectName(QString::fromUtf8("dockWidgetContents"));
        dockWidgetContents->setEnabled(true);

        groupBox = new QGroupBox(dockWidgetContents);
        groupBox->setObjectName(QString::fromUtf8("groupBox"));
        groupBox->setGeometry(QRect(100, 490, 120, 80));
        
        radioButton = new QRadioButton(groupBox);
        radioButton->setObjectName(QString::fromUtf8("radioButton"));
        radioButton->setGeometry(QRect(20, 20, 84, 18));

        radioButton_2 = new QRadioButton(groupBox);
        radioButton_2->setObjectName(QString::fromUtf8("radioButton_2"));
        radioButton_2->setGeometry(QRect(20, 50, 84, 18));

        radioButton_3 = new QRadioButton(dockWidgetContents);
        radioButton_3->setObjectName(QString::fromUtf8("radioButton_3"));
        radioButton_3->setGeometry(QRect(260, 560, 84, 18));

        WInfo->setWidget(dockWidgetContents);

        QMetaObject::connectSlotsByName(WInfo);
    } // setupUi
};

Не привожу остальные файлы, так как окна отображаются вполне корректно. Собственно вопрос - возможно ли связать QRadioButton и QGroupBox в QDockWidget точно так же, как в главном окне, или нет? Или просто я упустил при переносе какую-то нужную строку?


Название: Re: QGroupBox в QDockWidget
Отправлено: lit-uriy от Ноябрь 23, 2009, 19:05
лучшеб ты ui-файл выложил


Название: Re: QGroupBox в QDockWidget
Отправлено: Mityai от Ноябрь 23, 2009, 19:13
лучшеб ты ui-файл выложил

Так это ж заголовки им соответствующие... Да, главное окно создавал редактор, а QDockWidget, я руками что называется писал. Может в этом дело?


Название: Re: QGroupBox в QDockWidget
Отправлено: Mityai от Ноябрь 24, 2009, 11:02
В общем проблему удалось решить путем пересоздания окна QDockWidget, поэтому тему можно считать закрытой.