Разрабатываю форму |
Здравствуйте, гость ( Вход | Регистрация )
Разрабатываю форму |
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 |
6.9.2011, 15:39
Сообщение
#2
|
Участник Группа: Участник Сообщений: 124 Регистрация: 8.6.2011 Пользователь №: 2727 Спасибо сказали: 0 раз(а) Репутация: 0 |
Продолжение:
Допустим я открываю файл, но хочу видеть открывшийся файл(содержимое текстового файла) в новом диалоговом окне, но так что бы я через диологовое окно не мог туда ничего записать с клавиатуры. и еще вопрос (уже для эстетики) вот путь который мы выводим ui->OpenFileName->setText(fileName); хотелось бы чтобы он отображался : 1-ое: если путь не помещается одну строку, то он записывался бы например: C:/Users/Александр/Documents/Без имени (перевод).txt, а например C:/Users/.../Без имени (перевод).txt, возможно ли такое. или что можно вообще придумать с этим. 2-ое: и хотелось бы чтобы например каком-либоLabel отображался только путь к файлу, а в textedi(или в чем-нить похожем, где можно редактировать текст) отобрадалось только имя с разширением. Сообщение отредактировал TiiL - 6.9.2011, 15:45 |
|
|
MJIbIu |
6.9.2011, 16:50
Сообщение
#3
|
Студент Группа: Участник Сообщений: 38 Регистрация: 14.4.2010 Пользователь №: 1630 Спасибо сказали: 3 раз(а) Репутация: 0 |
Продолжение: Допустим я открываю файл, но хочу видеть открывшийся файл(содержимое текстового файла) в новом диалоговом окне, но так что бы я через диологовое окно не мог туда ничего записать с клавиатуры. и еще вопрос (уже для эстетики) вот путь который мы выводим ui->OpenFileName->setText(fileName); хотелось бы чтобы он отображался : 1-ое: если путь не помещается одну строку, то он записывался бы например: C:/Users/Александр/Documents/Без имени (перевод).txt, а например C:/Users/.../Без имени (перевод).txt, возможно ли такое. или что можно вообще придумать с этим. 2-ое: и хотелось бы чтобы например каком-либоLabel отображался только путь к файлу, а в textedi(или в чем-нить похожем, где можно редактировать текст) отобрадалось только имя с разширением. setEnabled делает не активным 1. Читай из переменой по одной буквы до тех пор пока не встретишь 2 раза / запоминаешь. Затем с конца до тех пор пока не встретишь / 1 раз. Затем склеиваешь и в середине вставляешь ... |
|
|
Текстовая версия | Сейчас: 23.11.2024, 23:48 |