Разрабатываю форму |
Здравствуйте, гость ( Вход | Регистрация )
Разрабатываю форму |
TiiL |
6.9.2011, 9:51
Сообщение
#1
|
Участник Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ребята помогите(1000 раз, уже стыдно заморачивать вас, но всё же).
нарисовал форму: ui_dialog.h\ class Ui_Dialog { public: QPushButton *OpenButton; QLabel *Path; QTextEdit *OpenFileName; void setupUi(QDialog *Dialog) { if (Dialog->objectName().isEmpty()) Dialog->setObjectName(QString::fromUtf8("Dialog")); Dialog->resize(400, 300); OpenButton = new QPushButton(Dialog); OpenButton->setObjectName(QString::fromUtf8("OpenButton")); OpenButton->setGeometry(QRect(300, 40, 75, 23)); Path = new QLabel(Dialog); Path->setObjectName(QString::fromUtf8("Path")); Path->setEnabled(false); Path->setGeometry(QRect(40, 80, 331, 16)); OpenFileName = new QTextEdit(Dialog); OpenFileName->setObjectName(QString::fromUtf8("OpenFileName")); OpenFileName->setGeometry(QRect(10, 40, 291, 21)); retranslateUi(Dialog); QMetaObject::connectSlotsByName(Dialog); } // setupUi void retranslateUi(QDialog *Dialog) { Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0, QApplication::UnicodeUTF8)); OpenButton->setText(QApplication::translate("Dialog", "OpenFiles", 0, QApplication::UnicodeUTF8)); } // retranslateUi }; namespace Ui { class Dialog: public Ui_Dialog {}; создал головной файл: dialog.h исходныe файлы: dialog.cpp main.cpp всё стандартно. dialog.cpp #include "dialog.h" #include "ui_dialog.h" #include <QFileDialog> #include <QtGui> Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); } Dialog::~Dialog() { delete ui; } void Dialog::on_OpenButton_clicked() { QString selectedFilter; QString fileName = QFileDialog::getOpenFileName(this,"Open File","C:", tr("Text Files (*.txt);;All Files (*)"),&selectedFilter); if (!fileName.isEmpty()) OpenFileName->setText(fileName); } вотпроблема такая: выбираю файл и хочу чтоб в OpenFileName писалось название файла. а в Pаth пиcался адресс к файлу. Но при сборке компилятор не видит то что я создал OpenFileName, хотя инклудю на ui_dialog.h где это обьявляется. что я не правильно понимаю и делаю. |
|
|
TiiL |
8.9.2011, 9:15
Сообщение
#2
|
Участник Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: 0 |
MJIbIu, Спасибо За ссылки скачал почитал... вот тупой не догадываюсь я как локально созданную fileName, перетащить в другую функцию?
делаю так: void Dialog::on_OpenButton_clicked() { QString fileName = QFileDialog::getOpenFileName(this,"Open File","", tr("Text Files (*.txt);;All Files (*)"),&selectedFilter); if (!fileName.isEmpty()) { loadFile(fileName); } void Dialog::loadFile(const QString &fileName) { QFile file(fileName); if (!file.open(QIODevice::ReadWrite)) { QMessageBox::critical(this, tr("Error"), tr("Could not open file")); on_GoButton_clicked(fileName); return; } } void Dialog::on_GoButton_clicked(const QString &fileName) { curFile = fileName; if (curFile.isEmpty()) { QFile file(curFile); if (!file.open(QIODevice::WriteOnly)) { QMessageBox::critical(this, tr("Error"), tr("Could not Save file")); } }} никаких ошибок, но при работе в форме нет результата по кнопке GO. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 23:37 |