crossplatform.ru

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

> Функция автозаполнения для QLineEdit, не могу разобраться с слотами
FladeX
  опции профиля:
сообщение 20.2.2009, 2:04
Сообщение #1


Студент
*

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

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




Репутация:   0  


Не получается разобраться с слотом для автоматического заполнения полей.
Имеется следующий код, реализующий простенькую форму с 5 QLabel, 5 QLineEdit и 3 QPushButton:
#include <QApplication>
#include <QMainWindow>
#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QGridLayout>
#include <QVBoxLayout>

class MyWidget : public QWidget
{
public:
    MyWidget(QWidget *parent = 0);
public slots:
    void setValue();
};

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    QVBoxLayout *layout = new QVBoxLayout;
    QGridLayout *grid = new QGridLayout;

    QLabel *x1label = new QLabel(tr("x1="));
    QLabel *y1label = new QLabel(tr("y1="));
    QLabel *x2label = new QLabel(tr("x2="));
    QLabel *y2label = new QLabel(tr("y2="));
    QLabel *slabel = new QLabel(tr("S="));

    QLineEdit *x1edit = new QLineEdit;
    QLineEdit *y1edit = new QLineEdit;
    QLineEdit *x2edit = new QLineEdit;
    QLineEdit *y2edit = new QLineEdit;
    QLineEdit *sedit = new QLineEdit;

    QPushButton *automode = new QPushButton(tr("Auto"));
    QPushButton *resetmode = new QPushButton(tr("Reset"));
    QPushButton *gomode = new QPushButton(tr("Go!"));

    grid->addWidget(x1label, 0, 0);
    grid->addWidget(y1label, 1, 0);
    grid->addWidget(x2label, 2, 0);
    grid->addWidget(y2label, 3, 0);
    grid->addWidget(slabel, 4, 0);

    grid->addWidget(x1edit, 0, 1);
    grid->addWidget(y1edit, 1, 1);
    grid->addWidget(x2edit, 2, 1);
    grid->addWidget(y2edit, 3, 1);
    grid->addWidget(sedit, 4, 1);

    grid->addWidget(automode, 5, 1);
    grid->addWidget(resetmode, 6, 1);
    grid->addWidget(gomode, 7, 1);

    layout->addLayout(grid);
    setLayout(layout);

    connect(resetmode, SIGNAL(clicked()), x1edit, SLOT(clear()));
    connect(resetmode, SIGNAL(clicked()), y1edit, SLOT(clear()));
    connect(resetmode, SIGNAL(clicked()), x2edit, SLOT(clear()));
    connect(resetmode, SIGNAL(clicked()), y2edit, SLOT(clear()));
    connect(resetmode, SIGNAL(clicked()), sedit, SLOT(clear()));

    connect(automode, SIGNAL(clicked()), x1edit, SLOT(setValue()));
}

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MyWidget widget;
    widget.show();
    return app.exec();
}

Мне нужно сделать автозаполнение всех 5 QLineEdit при нажатии на automode. Я добавил connect, но с описанием слота, а точнее функции setValue() возникли затруднения. Подскажите плиз, как надо сделать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- FladeX   Функция автозаполнения для QLineEdit   20.2.2009, 2:04
- - Litkevich Yuriy   Цитата(FladeX @ 20.2.2009, 5:04) connect(...   20.2.2009, 3:13
- - SABROG   И опять нет макроса Q_OBJECT и в конце "inclu...   20.2.2009, 9:02
- - FladeX   Цитата(Litkevich Yuriy @ 20.2.2009, 3:13)...   20.2.2009, 11:36
- - SABROG   Ну правильно пишет, ведь у тебя объекты объявляютс...   20.2.2009, 11:50
- - Litkevich Yuriy   Цитата(FladeX @ 20.2.2009, 14:36) x1edit....   20.2.2009, 12:45
- - FladeX   Ткните плиз пальцем, где и что не так: #include ...   20.2.2009, 14:05
- - SABROG   Цитата(FladeX @ 20.2.2009, 14:05) На прим...   20.2.2009, 14:19
- - FladeX   Не работает. Вообще не появляется окно, хотя компи...   20.2.2009, 14:42
|- - SABROG   Цитата(FladeX @ 20.2.2009, 14:42) Не рабо...   20.2.2009, 15:09
- - Litkevich Yuriy   Цитата(FladeX @ 20.2.2009, 17:42) Не рабо...   20.2.2009, 17:08
- - FladeX   Q_OBJECT добавил, main.moc тоже добавил. Не компил...   20.2.2009, 18:17
|- - SABROG   Цитата(FladeX @ 20.2.2009, 18:17) Q_OBJEC...   20.2.2009, 23:21
- - Litkevich Yuriy   FladeX, ты победил свое творение или нет?   21.2.2009, 16:58
- - FladeX   Нет.. На одном форуме вроде подсказали как надо, н...   22.2.2009, 16:49
- - Litkevich Yuriy   FladeX, ошибка простая, она связана со знанием раб...   22.2.2009, 17:02


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


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




RSS Текстовая версия Сейчас: 19.4.2024, 17:11