Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: lem от Ноября 20, 2010, 15:57



Название: [решено] смена прав на файл
Отправлено: lem от Ноября 20, 2010, 15:57
можно ли в qt сменить права доступа к файлу (аналогично команде chmod в консоли)


Название: Re: смена прав на файл
Отправлено: crossly от Ноября 20, 2010, 16:33
Код:
bool QFile::setPermissions ( Permissions permissions )
это конечно  если вас полномочия на это есть...


Название: Re: смена прав на файл
Отправлено: lem от Ноября 20, 2010, 17:07
на моем компе есть)
спасибо


Название: Re: смена прав на файл
Отправлено: lem от Ноября 20, 2010, 17:15
а как задать права?
я посмотрел вывод QFile::permissions(), но там совершенно не то, что при использовании chmod


Название: Re: смена прав на файл
Отправлено: crossly от Ноября 20, 2010, 17:18
почему это не то??


Название: Re: смена прав на файл
Отправлено: lem от Ноября 20, 2010, 17:23
26180


Название: Re: смена прав на файл
Отправлено: nixman05 от Ноября 20, 2010, 17:29
enum QFile::Permission


Название: Re: смена прав на файл
Отправлено: lem от Ноября 20, 2010, 17:32
?


Название: Re: смена прав на файл
Отправлено: nixman05 от Ноября 20, 2010, 17:52
Вы писали, что QFile::permissions() Вам вернул 26180.
На самом деле он возвращает QFile::Permission, который может иметь следующие значения

QFile::ReadOwner   0x4000   The file is readable by the owner of the file.
QFile::WriteOwner   0x2000   The file is writable by the owner of the file.
QFile::ExeOwner   0x1000   The file is executable by the owner of the file.
QFile::ReadUser   0x0400   The file is readable by the user.
QFile::WriteUser   0x0200   The file is writable by the user.
QFile::ExeUser   0x0100   The file is executable by the user.
QFile::ReadGroup   0x0040   The file is readable by the group.
QFile::WriteGroup   0x0020   The file is writable by the group.
QFile::ExeGroup   0x0010   The file is executable by the group.
QFile::ReadOther   0x0004   The file is readable by anyone.
QFile::WriteOther   0x0002   The file is writable by anyone.
QFile::ExeOther   0x0001   The file is executable by anyone.


Название: Re: смена прав на файл
Отправлено: lem от Ноября 20, 2010, 17:59
с owner, group и other все понятно
а кто такой user?


Название: Re: смена прав на файл
Отправлено: BlackTass от Ноября 20, 2010, 18:04
Под линухом user это тот же owner. Под виндой это текущий юзер. Но это может измениться.
В ассистанте это все написано:
Warning: Because of differences in the platforms supported by Qt, the semantics of ReadUser, WriteUser and ExeUser are platform-dependent: On Unix, the rights of the owner of the file are returned and on Windows the rights of the current user are returned. This behavior might change in a future Qt version.


Название: Re: смена прав на файл
Отправлено: lem от Ноября 20, 2010, 18:12
если можно, дайте плз пример QFile::setPerissions

не могу понять, какой должен быть аргумент


Название: Re: смена прав на файл
Отправлено: lem от Ноября 20, 2010, 18:24
уже сам понял, всем ОГРОМНОЕ спасибо