crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в linux, QSettings
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 5.9.2010, 18:27
  eldar85, рабочий вариант в примерах про главное окно и настройки


Цитата(breeve @ 13.3.2010, 21:43) *
$HOME/.config/MySoft/Star Runner.conf"
Цитата(breeve @ 13.3.2010, 21:43) *
QSettings::SystemScope,
хочу писать в $HOME, а вкоде усиленно пишу в SystemScope.
eldar85 Дата 5.9.2010, 14:32
  а какой у тебя рабочий то вариант получился? тут так и не дошли до рабочего варианта.
Вот у меня запускается прога
MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    ui->textEdit_2->setAcceptRichText(false);
    ui->textEdit->setAcceptRichText(false);
    readSettings();
}

куда что вписывать то?
maint Дата 14.3.2010, 8:59
 
Цитата(breeve @ 13.3.2010, 17:43) *
Как записать файл в папку .конфиг?
Делаю вроде как по инструкции, не получается. Единственное что у меня получилось так это записать в директорию где лежит программа.
В документации нашел это:
"On Unix systems, if the file format is NativeFormat, the following files are used by default:
$HOME/.config/MySoft/Star Runner.conf"
не хочет писать..

вот код:
 QSettings *set = new QSettings(
            QSettings::NativeFormat,
            QSettings::SystemScope,
            "breeveSoft",
            "myCitation"
            );
    set->beginGroup("Desktop Entry");
    set->setValue("Desktop Entry/Type", "Application");
    set->sync();
    delete set;

И еще вопрос что за параметр такое Scope?
Ос Ubuntu 9.10.

1. $HOME - это переменная среды (shell). Сначала надо определить домашний каталог
2. Проверить есть ли каталог в .config MySoft и ежели чего создать
3. А Scope, судя по документации, где ентот конфиг находится будет. Только для одного пользователя или как системный
breeve Дата 14.3.2010, 1:13
  не стал создавать форматы.. просто записал файл. вопрос снят
breeve Дата 13.3.2010, 21:24
  Нашел функцию регистрации формата. И в ней пример:
bool readXmlFile(QIODevice &device, QSettings::SettingsMap &map);
 bool writeXmlFile(QIODevice &device, const QSettings::SettingsMap &map);

 int main(int argc, char *argv[])
 {
     const QSettings::Format XmlFormat =
             QSettings::registerFormat("xml", readXmlFile, writeXmlFile);

     QSettings settings(XmlFormat, QSettings::UserSettings, "MySoft",
                        "Star Runner");

     ...
 }

Не понимаю первые две строчки. Как вставить стандартные Qt'шные функции открытия и записи файла? т.е чтобы этот новый формат открывался как обычный текстовый документ.
Litkevich Yuriy Дата 13.3.2010, 20:07
  вот конструктор:
QSettings ( const QString & fileName, Format format, QObject * parent = 0 )
breeve Дата 13.3.2010, 19:52
 
Цитата(Litkevich Yuriy @ 13.3.2010, 19:34) *
а ты не пиши выше. Сообщение написано, редактируй только если опечатки есть

Используй не родной формат, а INI-формат. Там можно конкретное имя файла задать
сделап вот так:
    QSettings *set = new QSettings(
            QSettings::IniFormat,
            QSettings::UserScope,
            "autostart/myCitation.desktop"
            );
создает файл ..ion.desktop.ini
Litkevich Yuriy Дата 13.3.2010, 19:34
 
Цитата(breeve @ 13.3.2010, 22:27) *
Выше написал
а ты не пиши выше. Сообщение написано, редактируй только если опечатки есть

Используй не родной формат, а INI-формат. Там можно конкретное имя файла задать
breeve Дата 13.3.2010, 19:27
 
Цитата(Litkevich Yuriy @ 13.3.2010, 19:19) *
не понял

Выше написал
Litkevich Yuriy Дата 13.3.2010, 19:19
 
Цитата(breeve @ 13.3.2010, 22:17) *
не подставлялся формат файла?
не понял
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 16:26