crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

FenixTES
  опции профиля:
сообщение 17.11.2009, 10:31
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 20
Регистрация: 14.11.2009
Пользователь №: 1230

Спасибо сказали: 0 раз(а)




Репутация:   0  


предположим, у меня есть число, мне нужно создать несколько кнопок(кол-во кнопок == числу), и потом повесить на них сигналы.
долго с этим долбался, что только не пробывал, создавал и массивы кнопок, и пробывал через QMap...
ниче только не получилось...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 6.1.2011, 19:53
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


eriser, ничего не понял из твоего описания.
Цитата(eriser @ 6.1.2011, 17:13) *
То-есть допустим при каждом нажатии на кнопку в griglayout добавляется рамка, в ней две кнопки и метка со своими параметрами.
один раз нажали, что получилось? Второй раз нажали, что получилось? По какому принципу в griglayout помещаются новые объекты, построчно?
Нарисуй эскиз.

Цитата(eriser @ 6.1.2011, 17:13) *
одной кнопкой всё получается, а как собрать всё это в конструкторе не могу понять.
приведи код с одной кнопкой. О каком конструкторе речь, о конструкторе класса?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eriser
  опции профиля:
сообщение 7.1.2011, 0:02
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 6.1.2011
Пользователь №: 2328

Спасибо сказали: 0 раз(а)




Репутация:   0  


При каждом нажатии на кнопку из файла считывается строка или несколько строк.
Динамически создаётся массив из экземпляров моего класса (1 по 6 или 12 штук) и располагается на форме в каком-то порядке. Каждый экземпляр содержит label(сюда передаётся считанная строка) и 2 кнопки Да и Нет. Каждый этот объект со своим идентификатором, а кнопками фиксируется ответ пользователя в таблице статистики.
Пытался создать класс на основе label. В конструкторе класса
1.создаю две кнопки
2. одну метку
3. layout
4. кнопки и метку добавляю в layout
5. на фрейм устанавливаю layout

На форме программы ничего не появляется. Но если в конструкторе добавляю show, тогда то что я задумал появляется, но в новом окне.

virtbox.h
#include <QLabel>

class ButtonOnLabel : public QLabel
{
    Q_OBJECT

public:
    ButtonOnLabel(const QString &text, QWidget *parent = 0);
};

virtbox.cpp
#include <QtGui>
#include "virtbox.h"

ButtonOnLabel::ButtonOnLabel(const QString &text, QWidget *parent)    : QLabel(parent)


{
setGeometry (0,0,100,100);
    QFrame *lab =new QFrame;
    QPushButton *noBut = new QPushButton();
    QPushButton *yesBut =new QPushButton();
    QFormLayout *lay=new QFormLayout( );

 yesBut->setText ("yes");
noBut->setText ("no");
lay->addWidget (lab);
lay->addWidget (yesBut);
lay->addWidget (noBut);

 ButtonOnLabel::setText ("'это я вижу");
lab->setLayout (lay); // а тут ничего нет! Добавив lab->show(); создаются новые окна, а нужно размещать на одном gridlayoute

}

widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include "virtbox.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
QString text;

  ButtonOnLabel *OnLabel = new ButtonOnLabel(text);
  ui->formLayout->addWidget (OnLabel);
 }


судя по тому, что не получается что-то не так...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.6.2025, 13:14