только начал использовать qt, просмотрел документы, google, примеры и т. д., пытаясь найти простые примеры (работающие, заметьте), которые показали, как делать (имхо) простые вещи сами по себе. ну, я наткнулся на свой ответ, и мне было интересно, вызовет ли этот подход проблему позже, когда код станет более сложным. для этого примера больше включений, чем необходимо, но это прямо из рабочего кода. mainwindow.h: я добавил
private slots:
void vpkButton_clicked();
и после Ui::MainWindow *ui; я добавил QLineEdit *vpkPathTxt; в mainwindow.cpp: после
ui->setupUi(this);
я добавил
connect( this->ui->vpkButton, SIGNAL( clicked() ), this, SLOT(vpkButton_clicked()) );
чтобы подключить мою кнопку пользовательского интерфейса к соответствующему слоту, проблема заключалась в том, чтобы получить строку из vpkButton_clicked() для отображения в редактировании строки, которое я сделал в дизайнере, что в итоге сработало для меня, добавив следующее:
vpkPathTxt = this->ui->vpkPathTxt;
функция в моем main.cpp стала очень простой: (объявления QString вверху вне пустот)
void MainWindow::vpkButton_clicked()
{
vpkName = QFileDialog::getOpenFileName(this,
tr("Open VPK File"), "~/", tr("VPK Files (*_dir.vpk)"));
vpkPathTxt->setText(vpkName);
qDebug() << vpkName;
}
причина, по которой я спрашиваю, заключается в том, что это кажется слишком простым, чтобы быть надежным, и тот факт, что я не видел, чтобы это было сделано так, любой вклад приветствуется, спасибо