Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: majatu от Март 30, 2009, 13:26



Название: Неопределенное кол-во кнопок
Отправлено: majatu от Март 30, 2009, 13:26
Как быть, если я не знаю сколько кнопок у меня будет?
точнее, я по одной кнопке добавляю текстовое поле и кнопку удалить до бесконечности, удалить соотв удаляет текстовое поле и саму кнопку
как узнать, по какой кнопке удалить я нажал? тк текстовых полей и кнопок неопределенное кол-во, signalmapper не срабатывает... короче я в тупике

пример:
-----
добавить
------

текстовое поле --- удалить
текстовое поле --- удалить
.....


Название: Re: Неопределенное кол-во кнопок
Отправлено: QCasper от Март 30, 2009, 13:52
как узнать, по какой кнопке удалить я нажал?

А зачем узнавать?

widget.h:

Код:
class Widget : public QWidget {
Q_OBJECT
public:
Widget(QWidget *parent = 0);

private slots:
void add();

private:
QGridLayout *m_Lt;
int m_I;
};

widget.cpp:

Код:
Widget::Widget(QWidget *parent):QWidget(parent) {
m_I = 1;
QPushButton *addBtn = new QPushButton(tr("Add"), this);

m_Lt = new QGridLayout(this);
m_Lt->addWidget(addBtn, 0, 0, 1, 2);

connect(addBtn, SIGNAL(clicked()), SLOT(add()));
}
void Widget::add() {
QLineEdit *le = new QLineEdit(this);
QPushButton *btn = new QPushButton(tr("Remove"), this);
m_Lt->addWidget(le, m_I, 0);
m_Lt->addWidget(btn, m_I++, 1);

connect(btn, SIGNAL(clicked()), le, SLOT(deleteLater()));
connect(btn, SIGNAL(clicked()), btn, SLOT(deleteLater()));
}


Название: Re: Неопределенное кол-во кнопок
Отправлено: majatu от Март 30, 2009, 14:03
о круто, пасиба огромное, а то я уже указатели стал сравнивать и по хешу искать


Название: Re: Неопределенное кол-во кнопок
Отправлено: majatu от Март 30, 2009, 14:14
а можно еще глупый вопрос? как потом узнать, какие остались QLineEdit?


Название: Re: Неопределенное кол-во кнопок
Отправлено: QCasper от Март 30, 2009, 14:21
а можно еще глупый вопрос? как потом узнать, какие остались QLineEdit?

Ну вобщем несколько способов есть, Вы лучше конечную задачу изложите.


Название: Re: Неопределенное кол-во кнопок
Отправлено: majatu от Март 30, 2009, 14:26
нужно будет из этих эдитов в базу данные затащить по щелчку уже другой кнопки, думаю, что есть цикл для gridlayout


Название: Re: Неопределенное кол-во кнопок
Отправлено: pastor от Март 30, 2009, 14:30
нужно будет из этих эдитов в базу данные затащить по щелчку уже другой кнопки, думаю, что есть цикл для gridlayout

Думаю эта тема поможет Перебрать все элементы слоя (http://www.prog.org.ru/topic_9014_0.html)


Название: Re: Неопределенное кол-во кнопок
Отправлено: majatu от Март 30, 2009, 14:39
будет во как, по кнопке ... будет выскакивать диалог с выбором из списка значений,
по кнопке ок, будет заноситься id выбранного поля, вопрос заключается в том, как не дать пользователю
ввести одни и теже id в разные lineedit, ведь если он удалит потом lineedit и id, то какой удалил непонятно

я сейчас смотрю вроде как есть сигнал destroyed(QWidget *)


line ---...---del
line ---...---del
line ---...---del