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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Заголовок окна  (Прочитано 4398 раз)
M9yT
Гость
« : Ноябрь 26, 2010, 15:57 »

Привет всем.
В общем, хочу при открытии файла менять windowTitle, т.е открыл файл -  windowTitle принял его имя ( не путь + имя ).
Так же, хочу сделать файл защищенным, т.е. если я его открыл, то при удалении возникнет ошибка.
Заранее спасибо!
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Ноябрь 26, 2010, 16:10 »

имя берёшь из QFileInfo, вставляешь через setWindowTitle()
Записан
M9yT
Гость
« Ответ #2 : Ноябрь 26, 2010, 16:35 »

имя берёшь из QFileInfo, вставляешь через setWindowTitle()
А как обратиться к главному окну через ui ? или нужно создать объект моего класса, который я унаследовал от QMainWindow, и там уже вызвать setWindowTitle()? Но так не меняется.
Записан
crashsp
Гость
« Ответ #3 : Ноябрь 26, 2010, 16:43 »

Ну как я понимаю объект QMainWindow у тебя уже создан надо обратиться к нему по указателю и вызвать эту функцию
Записан
M9yT
Гость
« Ответ #4 : Ноябрь 26, 2010, 17:19 »

Ну как я понимаю объект QMainWindow у тебя уже создан надо обратиться к нему по указателю и вызвать эту функцию
И как получить на него указатель, если он создан в функции main() ?
Записан
whirlwind
Гость
« Ответ #5 : Ноябрь 26, 2010, 17:25 »

Ну как я понимаю объект QMainWindow у тебя уже создан надо обратиться к нему по указателю и вызвать эту функцию
И как получить на него указатель, если он создан в функции main() ?
если ты файл открываешь внутри одного из методов своего наследника QMainWindow, то можешь вызвать setWindowTitle() просто так
Записан
M9yT
Гость
« Ответ #6 : Ноябрь 26, 2010, 17:32 »

если ты файл открываешь внутри одного из методов своего наследника QMainWindow, то можешь вызвать setWindowTitle() просто так
Воо, точно!
А вот как теперь файл защитить?
Записан
crashsp
Гость
« Ответ #7 : Ноябрь 26, 2010, 18:42 »

Цитировать
А вот как теперь файл защитить?
Я не когда не задавался этим вопросом так как считал если приложение открыло файл, ось не позволит его удалить из вне
И вот странность если открываешь файл  в main() Ось выдает ошибку, а если файл открыть в другом месте программы файл удаляется без проблем(
так что +1 к вопросу Непонимающий
Записан
vlad-mal
Гость
« Ответ #8 : Ноябрь 27, 2010, 23:58 »

Цитировать
А вот как теперь файл защитить?
Я ... считал если приложение открыло файл, ось не позволит его удалить из вне
...
Не-а. Улыбающийся
От оси зависит.
Для MS Windows указывается в параметре dwShareMode метода CreateFile: http://msdn.microsoft.com/en-us/library/aa363858%28VS.85%29.aspx
Если 0 - то действительно, другим процессам нельзя открывать файл/устройство с запрососами на чтение, запись и удаление.
FILE_SHARE_READ (0X01) - разрешено открывать файл/устройство с запросом "читать"
FILE_SHARE_WRITE (0X02) - разрешено открывать файл/устройство с запросом "писать"
FILE_SHARE_DELETE (0X04) - разрешено открывать файл/устройство с запросом "удалить"

Для Linux - ХЗ.  Строит глазки

А еще - для некоторых осей (и даже некоторых файловых систем) есть понятие "владельца" файла/каталога/устройства, и прав отдельных пользователей (и групп) по отношению к данному файлу/каталогу/устройству для совершения различных действий.
Вот что по этому поводу "думает" QtFile: http://doc.qt.nokia.com/4.7/qfile.html#Permission-enum

Имхо, "с помощью Qt" можно пробовать "лочить" так: проверять текущие права на файл /QFile::permissions ()/, а затем уже пробовать задавать нужные права на файл /QFile::setPermissions/.

Скользкое дело, короче.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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