crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

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


Последние 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 Текстовая версия Сейчас: 29.3.2024, 2:13