Сегодня взялся тестировать QLineEdit класс. Почти написал то, что хотел, но работает это все не так как хочу я. А я хочу, чтобы пользователь ввел имя, а ему в ответ на это появилось окно с приветствием "Hello, %username%." Но этого не происходит.
вот исходник:
// main.cpp
#include <QtGui>
#include <QMessageBox>
#include <QString>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
qApp->setStyleSheet
(
"QLineEdit {"
"border: 2px solid grey;"
"border-radius: 10px;"
"padding: 0 8 px;"
"selection-background-color: darkgrey;"
"}"
"QPushButton {"
"border: 1px solid #000000;"
"border-radius: 10px;"
"background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
"stop: 0 #dedede, stop: 1 #656a6d);"
"min-width: 80px;"
"}"
"QPushButton:pressed {"
"background-color: grey"
"}"
"QPushButton:flat {"
"border: none; "
"}"
);
QWidget window;
window.setGeometry(200, 200, 200, 100);
QLineEdit nameLine(&window);
nameLine.setGeometry(100, 30, 100, 20);
QLabel lbl("Enter your name:", &window);
lbl.setGeometry(5, 30, 100, 20);
QString name = nameLine.text();
QMessageBox messageBox;
messageBox.setGeometry(250, 220, 100, 100);
messageBox.setText(QString ("Hello, %1").arg(name));
QPushButton btn ("OK", &window);
btn.setGeometry(63, 75, 75, 20);
QObject::connect(&btn, SIGNAL(clicked()), &messageBox, SLOT(show()));
window.show ();
return app.exec();
}
Что я делаю не так?
p.s. И еще QMessageBox как то не правильно работает... Там кнопка "ОК" не такая как в главном окне. Как это исправить??