Get lineEdit Входные данные - PullRequest
       11

Get lineEdit Входные данные

2 голосов
/ 04 ноября 2011

Я новичок в qt4 и пытаюсь получить входные текстовые данные. Но я не получаю.

Кто-нибудь может мне помочь? Буду очень признателен.

Спасибо.

Пример того, что я делаю:

adduser.cpp

#include <QtGui>
#include "adduser.h"

myQt_user::myQt_user(QDialog *parent)
{
    setupUi(this); // this sets up GUI
    connect(pushButton_adduser, SIGNAL(clicked()), this, SLOT(add_user()));
}

void myQt_user::add_user()
{
    users = lineEdit_user->text();
    QMessageBox::information(this, tr("Data"),tr("Get user:" +users ));

}

adduser.h

#ifndef ADDUSER_H
#define ADDUSER_H

#include "ui_dialog_useradd.h"


class myQt_user: public QDialog, private Ui::windows_add
{
    Q_OBJECT

public:
        myQt_user(QDialog *parent = 0);
        QLineEdit *lineEdit_user;
        QString users;

public slots:
        void add_user();
};

#endif

Erro:

adduser.cpp:-1: In member function 'void myQt_user::add_user()':

adduser.cpp:13: error: no matching function for call to 'myQt_user::tr(const QString)'

adduser.h:9: candidates are: static QString myQt_user::tr(const char*, const char*)

adduser.h:9: note: static QString myQt_user::tr(const char*, const char*, int)

Ответы [ 2 ]

4 голосов
/ 04 ноября 2011

Qt способ сделать это:

QMessageBox::information(this, tr("Data"), tr("Get user:" +users ));

должно быть

QMessageBox::information(this, tr("Data"), tr("Get user: %1").arg(users));
2 голосов
/ 04 ноября 2011

Как говорит ошибка, вы передаете QString функции, которая принимает const char*:

QMessageBox::information(this, tr("Data"),tr("Get user:" +users ));

Либо не вызывайте tr, либо передавайте char *:

QMessageBox::information(this, tr("Data"),"Get user:" +users); // removed tr

или

QMessageBox::information(this, tr("Data"),tr(qPrintable("Get user:" +users)));
// get a char* from the QString with the qPrintable macro.

(Поскольку вы, вероятно, не хотите локализовать пользовательский ввод, я бы выбрал первый вариант.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...