Russian Qt Forum
Ноябрь 23, 2024, 04:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 3 [4] 5   Вниз
  Печать  
Автор Тема: Пишу диплом!!!  (Прочитано 53046 раз)
ieroglif
Гость
« Ответ #45 : Май 15, 2011, 11:48 »

развлекайся Улыбающийся
надо будет только скачать и собрать Qtx, в файле проекта поменять пути на то, куда ты установишь Qxt, и в файле mainwindow.cpp установить путь к папке фотографий.
dirModel->setRootPath("D:\\!Photos");
разумеется всё сыровато да кривовато (за 15 минут, фигли), но что бы понять что к чему да как - тебе точно хватит Улыбающийся
Записан
the_moop
Гость
« Ответ #46 : Май 16, 2011, 13:46 »

запустил; спс;

я пока не смотрел "что да как", но по-крайней мере собрал qxt... теперь могу со спокойным сердцем закончить бд
Записан
the_moop
Гость
« Ответ #47 : Май 16, 2011, 13:54 »

+ :

хотел спросить - есть ли какая-то принципиальная разница в работе с бд на sqlitestudio и в qtcreator'e? просто в криэйторе есть возможность использовать вместо sql запросов обычный код c++; просто, вы же наверное не просто так посоветовали ее..поэтому хотел уточнить

« Последнее редактирование: Май 16, 2011, 14:34 от the_moop » Записан
ieroglif
Гость
« Ответ #48 : Май 16, 2011, 14:54 »

+ :

хотел спросить - есть ли какая-то принципиальная разница в работе с бд на sqlitestudio и в qtcreator'e? просто в криэйторе есть возможность использовать вместо sql запросов обычный код c++; просто, вы же наверное не просто так посоветовали ее..поэтому хотел уточнить


sqlitestudio позволит тебе работать с базой данных без пограммирования во время разработки и отладки.
не сразу же ты сможешь писать в базаду? для начала прочитай что там есть, а и когда писать туда будешь - тоже ведь надо проверять что всё пишется правильно. для этого и пользуй sqlitestudio - набил ручками данные, в Qt прочитал. сделал через Qt новые записи в базу - глянул через sqlitestudio что всё записалось верно..
Записан
the_moop
Гость
« Ответ #49 : Май 16, 2011, 15:24 »

спасибо; я так и понял , но просто хотел уточнить - это  вроде как получается менеджер;




Записан
ieroglif
Гость
« Ответ #50 : Май 16, 2011, 16:36 »

спасибо; я так и понял , но просто хотел уточнить - это  вроде как получается менеджер;
типа того. просто инструмент облегчающий разработку
Записан
the_moop
Гость
« Ответ #51 : Май 23, 2011, 18:23 »

вот контекст - это функция которая производит поиск файлов по маске :

Код
C++ (Qt)
void FileFinder::start(const QDir& dir)
{
   QApplication::processEvents();
 
   QStringList listFiles =
       dir.entryList(m_ptxtMask->text().split(" "), QDir::Files);
 
   foreach (QString file, listFiles) {
       m_ptxtResult->append(dir.absoluteFilePath(file));
   }
 
   QStringList listDir = dir.entryList(QDir::Dirs);
   foreach (QString subdir, listDir) {
       if (subdir == "." || subdir == "..") {
           continue;
       }
       start(QDir(dir.absoluteFilePath(subdir)));
   }
}
 

А вот собстенно строчка, по которой у меня вопрос

Код
C++ (Qt)
   QStringList listFiles =
       dir.entryList(m_ptxtMask->text().split(" "), QDir::Files);
 

я никак не могу "вкурить" что за фигня там с первым аргументом?
Почему я например не могу просто впихнуть туда строку-маску? Никак не пойму, хотя в доках тоже написано, что этот аргумент предназачен для для указания маски

Надеюсь я понятно изложил суть вопроса

Во избежание вопросов и для того чтобы стало еще  яснее:
Код
C++ (Qt)
m_ptxtDir    = new QLineEdit(QDir::current().absolutePath());
   m_ptxtMask   = new QLineEdit("*.cpp *.h");
   m_ptxtResult = new QTextEdit;
 

спс за внимание
« Последнее редактирование: Май 23, 2011, 18:27 от the_moop » Записан
the_moop
Гость
« Ответ #52 : Май 23, 2011, 18:30 »

я просто понимаю, что что-то упустил ... но вот что...
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #53 : Май 23, 2011, 19:21 »

а что непонятного-то?
Код
C++ (Qt)
QStringList QDir::entryList(const QStringList & nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort) const
первый параметр (список строк) - список допустимых расширений файлов. m_ptxtMask->text() вернет тебе одну строку "*.cpp *.h", а split(" ") разобьет эту строку по пробелам на список строк, т.е. у тебя выйдет список из 2-х элементов: ["*.cpp", "*.h"]
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
the_moop
Гость
« Ответ #54 : Май 23, 2011, 19:43 »

значит все именно так как я понял, но тут всплывает самый главный вопрос:

та же конструкция должна будет работать, если вместо : m_ptxtMask->text()
"пихнуть" допустим : *.jpg  ?

Просто я так как бЭ и делаю, но вот.. результата нету
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #55 : Май 23, 2011, 19:50 »

Код
C++ (Qt)
QStringList listFiles = dir.entryList(QStringList("*.jpg"), QDir::Files);
так не работает?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
the_moop
Гость
« Ответ #56 : Май 23, 2011, 23:12 »

Код
C++ (Qt)
  foreach (QString file, listFiles) {
 
       query.prepare("INSERT INTO ImageTable"
                     "VALUES (:Name)");
       query.bindValue(":Name", dir.absoluteFilePath(file) );
   }
 

  Как Вы можете видеть я пытаюсь записать имя файла в таблицу Бд;
  Пытаюсь - потому что что - то не выходит;
 
  Сам думаю, что проблема в несоответствии типов, но может быть еще что -то есть...
 
 В общем, рад любой помощи


спс.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #57 : Май 24, 2011, 07:26 »

Код
C++ (Qt)
       query.prepare("INSERT INTO ImageTable (Name) "
                     "VALUES (:Name)");
 foreach (QString file, listFiles) {
       query.bindValue(":Name", dir.absoluteFilePath(file) );
       query.exec ();
   }
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
the_moop
Гость
« Ответ #58 : Май 24, 2011, 08:19 »

Мне видимо снова надо будет перечитать раздел связанный с базами данных;

Спасибо большое;  Все прекрасно работает:

Записал пути к изображениям в базу данных - буду модифицировать код;
(если у кого-то есть мысли на этот счет - буду рад любым предложениям)


спс за внимание

Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #59 : Май 26, 2011, 18:57 »

топик стартер, личку проверяй
Записан
Страниц: 1 2 3 [4] 5   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.203 секунд. Запросов: 23.