Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2012, 17:24   #1
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию Как поместить QRadioButton на QGroupBox

Приветствую, друзья! Я создаю три QRadioButton и хочу чтобы они располагились в QGroupBox. Как это сделать на диалоговом окне? Заранее спасибо!



main.cpp
Код:
#include <QApplication>

#include "radiobuttondialog.h"

int main(int argc, char **argv)
{
  QApplication app(argc, argv);

  RadioButtonDialog dlg;
  dlg.show();

  return app.exec();
}
radiobuttondialog.h
Код:
#ifndef RADIOBUTTONDIALOG_H
#define RADIOBUTTONDIALOG_H

#include <QDialog>

class QPushButton;

class RadioButtonDialog : public QDialog
{
    Q_OBJECT

public:
    RadioButtonDialog(QWidget *parent = 0);

private slots:
    void buttonClicked();

private:
    QPushButton *clickButton;
};

#endif // RADIOBUTTONDIALOG_H
radiobuttondialog.cpp
Код:
#include <QPushButton>
#include <QRadioButton>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QGroupBox>
#include <QButtonGroup>

#include "radiobuttondialog.h"

RadioButtonDialog::RadioButtonDialog(QWidget *parent) : QDialog(parent)
{
    clickButton = new QPushButton("Click me!", this);

    QVBoxLayout *layout = new QVBoxLayout(this);
    layout->addWidget(clickButton);

    connect(clickButton, SIGNAL(clicked()), this, SLOT(buttonClicked()));

    QGroupBox box("Choose");

    QRadioButton *firstRadio = new QRadioButton("First");
    QRadioButton *secondRadio = new QRadioButton("Second");
    QRadioButton *thirdRadio = new QRadioButton("Third");

    QButtonGroup *bg = new QButtonGroup(&box);

    bg->addButton(firstRadio);
    bg->addButton(secondRadio);
    bg->addButton(thirdRadio);

    layout->addWidget(firstRadio);
    layout->addWidget(secondRadio);
    layout->addWidget(thirdRadio);
    layout->addWidget(clickButton);
}

void RadioButtonDialog::buttonClicked()
{
    QMessageBox::information(this, "Clicked!", "The button was clicked!");
}
С уважением Иван

Последний раз редактировалось 8Observer8; 27.12.2012 в 17:29.
8Observer8 вне форума Ответить с цитированием
Старый 27.12.2012, 20:15   #2
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

Код:
box.setLayout(layout);
Попробуй так.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 28.12.2012, 09:35   #3
der_igel
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 29
По умолчанию

Вместо
Код:
layout->addWidget(firstRadio);
    layout->addWidget(secondRadio);
    layout->addWidget(thirdRadio);
Код:
 layout->addWidget(bg);
box.setLayout(layout);
der_igel вне форума Ответить с цитированием
Старый 28.12.2012, 14:32   #4
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Спасибо за ответы!

Всё ещё не могу с этим разобраться

Код:
layout->addWidget(bg);
Компилятор сообщает, что не может преобразовать параметр из 'QButtonGroup' в 'QWidget'
8Observer8 вне форума Ответить с цитированием
Старый 28.12.2012, 15:52   #5
der_igel
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 29
По умолчанию

И правильно ругается. Вот так пойдёт.
Код:
layout->addWidget(&box);
der_igel вне форума Ответить с цитированием
Старый 28.12.2012, 16:24   #6
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Процесс 'radiobutton.exe' запускается, но диалоговое окно не появляется
8Observer8 вне форума Ответить с цитированием
Старый 28.12.2012, 21:01   #7
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Восклицание

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
Процесс 'radiobutton.exe' запускается, но диалоговое окно не появляется
Прикрепи проект, я помудрю с ним.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 28.12.2012, 21:37   #8
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Цитата:
Сообщение от xwicked Посмотреть сообщение
Прикрепи проект, я помудрю с ним.
Хорошо. Прикрепил
Вложения
Тип файла: zip radiobutton.zip (548.1 Кб, 9 просмотров)
8Observer8 вне форума Ответить с цитированием
Старый 28.12.2012, 23:57   #9
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Код:
    clickButton = new QPushButton("Click me!", this);

    QVBoxLayout *layout = new QVBoxLayout/*(this)*/;

    connect(clickButton, SIGNAL(clicked()), this, SLOT(buttonClicked()));

    QGroupBox *box = new QGroupBox(this);//new
    box->setTitle("Choose");

    QRadioButton *firstRadio = new QRadioButton("First");
    QRadioButton *secondRadio = new QRadioButton("Second");
    QRadioButton *thirdRadio = new QRadioButton("Third");

    QButtonGroup *bg = new QButtonGroup/*(&box)*/;

    bg->addButton(firstRadio);
    bg->addButton(secondRadio);
    bg->addButton(thirdRadio);

    layout->addWidget(firstRadio);
    layout->addWidget(secondRadio);
    layout->addWidget(thirdRadio);
    layout->addWidget(clickButton);
    box->setLayout(layout);//<---
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 29.12.2012, 00:09   #10
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Спасибо огромное

Сейчас никак не соображу, как лучше кнопку вне QGroupBox сделать
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поместить видео на форму в C# Linore Общие вопросы .NET 9 26.08.2010 23:48
как поместить изображение в буфер leonw Общие вопросы Delphi 3 18.01.2010 02:34
Как поместить элементы в массив? tocsik Общие вопросы Delphi 4 28.09.2009 19:15
Как поместить в кнопку ссылку ? Diman2008 HTML и CSS 2 16.10.2008 15:52
как поместить программу в автозапуск? Alar Общие вопросы Delphi 11 20.12.2007 23:31