Russian Qt Forum
Августа 30, 2025, 10:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFileSystemModel & QTreeView скрыть по фильтру файлы и и развернуть все папки...  (Прочитано 4968 раз)
daimon
Гость
« : Мая 30, 2011, 00:06 »

Как организовать один перевод программно в солюшине, собранный из 11 переводов проектов? Самый просто вариант создать новый перевод и туда всунуть содержимое переводов 12 проектов копи-пастом. Как обойтись более разумным способом? (VS2008)

« Последнее редактирование: Июня 01, 2011, 02:39 от daimon » Записан
serega-5508
Гость
« Ответ #1 : Мая 30, 2011, 01:22 »

врятли это возможно! Каждый проект должен содержать свой файл перевода, иначе он не будет знать, где его искать и читать, как я думаю!
Записан
Fess
Гость
« Ответ #2 : Мая 30, 2011, 04:42 »

lrelease [options] ts-files [-qm qm-file]
Собирает все ваши 100500 файлов с исходниками перевода в один бинарник.
Записан
daimon
Гость
« Ответ #3 : Мая 30, 2011, 13:47 »

врятли это возможно! Каждый проект должен содержать свой файл перевода, иначе он не будет знать, где его искать и читать, как я думаю!
каждый проект и содержит свой перевод
Записан
daimon
Гость
« Ответ #4 : Мая 30, 2011, 14:03 »


решил сделать проект на Qt, использующий процессы


Код
C++ (Qt)
QStringList list = imageSpace(path, QStringList()<<"*.h"<<"*.cpp");
 
QString program = QDir(getenv("QTDIR")).absolutePath()+"/bin/lupdate.exe";
 
QStringList arguments;
arguments << list <<"-ts"<<"dima.ts";
 
QProcess *myProcess = new QProcess(0);
myProcess->start(program, arguments);
 
 
вот упращенная версия
 
 imageSpace - список все файлов с полными путями - тоже функцию склепал

проблемма с
Цитировать
if(!dir.exists())
 {
     emit isErrorDir(true);
   return QStringList();
}

QDir не понимает русские строки, если передаю так

Цитировать
CTranslateUtilRun util("C:/Documents and Settings/Dima/Рабочий стол/GraphBuilderNew/", "fddfdf", ETU_LUPDATE);

Как решить?
« Последнее редактирование: Мая 30, 2011, 21:15 от daimon » Записан
daimon
Гость
« Ответ #5 : Мая 31, 2011, 02:50 »

Как открыть explorer на определённой папке с помощью Qt?
Записан
Fess
Гость
« Ответ #6 : Мая 31, 2011, 04:51 »

QProcess().start("explorer.exe C:\\temp");
Насчет русских символов - проблема не в QDir, а в кодировке строки в исходниках и ее корректном считывании. Тема обсуждалась много раз поищите по форуму.
Лучше в исходниках использовать только латиницу..
Записан
daimon
Гость
« Ответ #7 : Мая 31, 2011, 14:41 »

QProcess().start("explorer.exe C:\\temp");
Насчет русских символов - проблема не в QDir, а в кодировке строки в исходниках и ее корректном считывании. Тема обсуждалась много раз поищите по форуму.
Лучше в исходниках использовать только латиницу..
самое верное решение
Код:
	ShellExecute(NULL, L"explore", (QFileInfo(m_translateUtilRun.getNameFile()).absoluteDir().absolutePath()).toStdWString().c_str(), NULL, NULL, SW_SHOWNORMAL);
Записан
daimon
Гость
« Ответ #8 : Мая 31, 2011, 15:27 »

Как в QFileSystemModel и QTreeModel запретить вообще показывать по фильтру файлы  и не показывать папки где нет файлов по фильтру, и ещё как открыть все папки сразу (плюсы все "включены") именно те, в которых есть файлы по фильтру? (я только смог файлы не по фильтру сделать не активными (серыми))

Код
C++ (Qt)
model->setRootPath(m_translateUtilRun.getPath());
 
switch (m_translateUtilRun.getTranslateUtil())
{
case ETU_LUPDATE:
model->setNameFilters(m_translateUtilRun.getFilterNamesLupdate());
 
break;
case ETU_LRELEASE:
model->setNameFilters(m_translateUtilRun.getFilterNamesLrelease());
 
break;
default: break;
}
ui.treeView->setModel(model);
ui.treeView->setRootIndex(model->index(m_translateUtilRun.getPath()));
« Последнее редактирование: Июня 01, 2011, 10:49 от daimon » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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