Tengo una pregunta de qt. Quiero que el widget QLineEdit tenga el foco al inicio de la aplicación. Tome el siguiente código de ejemplo:Establecer el foco de QLineEdit en Qt
#include <QtGui/QApplication>
#include <QtGui/QHBoxLayout>
#include <QtGui/QPushButton>
#include <QtGui/QLineEdit>
#include <QtGui/QFont>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget();
window->setWindowIcon(QIcon("qtest16.ico"));
window->setWindowTitle("QtTest");
QHBoxLayout *layout = new QHBoxLayout(window);
// Add some widgets.
QLineEdit *line = new QLineEdit();
QPushButton *hello = new QPushButton(window);
hello->setText("Select all");
hello->resize(150, 25);
hello->setFont(QFont("Droid Sans Mono", 12, QFont::Normal));
// Add the widgets to the layout.
layout->addWidget(line);
layout->addWidget(hello);
line->setFocus();
QObject::connect(hello, SIGNAL(clicked()), line, SLOT(selectAll()));
QObject::connect(line, SIGNAL(returnPressed()), line, SLOT(selectAll()));
window->show();
return app.exec();
}
¿Por qué line->setFocus()
ajusta el enfoque en la puesta en marcha @app widget de línea sólo si se coloca después de la puesta fuera de los widgets y si se utiliza antes de que no funciona?
Corrección pequeña: el orden de las pestañas no es el orden en el que los niños están _construidos_, sino el orden en el que se agregan _ al padre. –
Probablemente sea cierto, pero estaba parafraseando la documentación de Qt que dice: "Puede personalizar el orden de tabulación usando QWidget :: setTabOrder(). (Si no lo hace, Tab generalmente mueve el foco en el orden de construcción del widget.) " –