Разрабатываю форму |
Здравствуйте, гость ( Вход | Регистрация )
Разрабатываю форму |
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 |
7.9.2011, 15:14
Сообщение
#2
|
Участник Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: 0 |
Возвращаюсь на начало:
открываю файл по кнопке. void Dialog::on_OpenButton_clicked() { QString fileName = QFileDialog::getOpenFileName(this,"Open File","", tr("Text Files (*.txt);;All Files (*)"),&selectedFilter); } хочу чтоб по кнопке: void Dialog::on_GoButton_clicked() { if (fileName !="") { QFile file(fileName); if (!file.open(QIODevice::WriteOnly)) { QMessageBox::critical(this, tr("Error"), tr("Could not Save file")); }else { QTextStream stream(&file); stream << "Factor" << ui->Factor->value()<< endl; stream << " " << ui->checkBox; stream.flush(); file.close(); } } } записывались данные в файл, который я выбрал, но ничего не происходит. вопросы такие 1-ое fileName объявленный в void Dialog::on_OpenButton_clicked() работает только в пределах этого войда. Так? 2-ое обьявляею QString FileName в Dialog.h верно ли что оно будет использоваться во всех void - ах в файле dialog.cpp? 3-ие что вообще я не так делаю? |
|
|
MJIbIu |
7.9.2011, 16:16
Сообщение
#3
|
Студент Группа: Участник Сообщений: 38 Регистрация: 14.4.2010 Пользователь №: 1630 Спасибо сказали: 3 раз(а) Репутация: 0 |
вопросы такие 1-ое fileName объявленный в void Dialog::on_OpenButton_clicked() работает только в пределах этого войда. Так? 2-ое обьявляею QString FileName в Dialog.h верно ли что оно будет использоваться во всех void - ах в файле dialog.cpp? 3-ие что вообще я не так делаю? 1 - а что такое "предел войд"? 2 - а ты знаешь что творится в .h и .cpp ? 3 - почитай книгу по С++ Бьёрн Страуструп с начало(уже повторяюсь ) |
|
|
Текстовая версия | Сейчас: 3.12.2024, 22:06 |