crossplatform.ru

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

0xF
  опции профиля:
сообщение 30.4.2008, 17:00
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 71
Регистрация: 12.11.2007
Пользователь №: 20

Спасибо сказали: 0 раз(а)




Репутация:   0  


В проге нужны перетаскивающиеся окна, создаю их таким образом:
dock[DW_RESOURCE_BROWSER] = new QDockWidget( "Resouce browser", this );
toggleViewAction[DW_RESOURCE_BROWSER] = dock[DW_RESOURCE_BROWSER]->toggleViewAction();

...

dock[DW_RESOURCE_BROWSER]->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
dock[DW_RESOURCE_BROWSER]->setWidget( resourceBrowser );

viewMenu->addAction( toggleViewAction[DW_RESOURCE_BROWSER] );

addDockWidget( Qt::RightDockWidgetArea, dock[DW_RESOURCE_BROWSER] );

Таких окон несколько, и при их добавлении они все выстраиваются в ленту по вертикали, а мне надо, чтоб они при создании добавлялись во вкладки.
Вот так как у меня сейчас:
 Р В Р’ Р’ Р’ Р’ Р’ Р’˜Р В·Р С•бражение уменьшено
Прикрепленное изображение
261 x 688 (22.47 килобайт)


А вот так как мне надо(пертащил окна вручную):
 Р В Р’ Р’ Р’ Р’ Р’ Р’˜Р В·Р С•бражение уменьшено
Прикрепленное изображение
264 x 677 (20 килобайт)


Как засунуть панели во вкладки, чтоб не надо было делать это вручную?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 30.4.2008, 22:13
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


потомучто ты на saveState() необратил внимание
void MainWindow::saveLayout()
{
    QString fileName
        = QFileDialog::getSaveFileName(this, tr("Save layout"));
    if (fileName.isEmpty())
        return;
    QFile file(fileName);
    if (!file.open(QFile::WriteOnly)) {
        QString msg = tr("Failed to open %1\n%2")
                        .arg(fileName)
                        .arg(file.errorString());
        QMessageBox::warning(this, tr("Error"), msg);
        return;
    }

    QByteArray geo_data = saveGeometry();
    QByteArray layout_data = saveState();

    bool ok = file.putChar((uchar)geo_data.size());
    if (ok)
        ok = file.write(geo_data) == geo_data.size();
    if (ok)
        ok = file.write(layout_data) == layout_data.size();

    if (!ok) {
        QString msg = tr("Error writing to %1\n%2")
                        .arg(fileName)
                        .arg(file.errorString());
        QMessageBox::warning(this, tr("Error"), msg);
        return;
    }
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.6.2025, 21:05