Разрешение gframe расти с полосами прокрутки внутри окна

Я хотел бы создать переменное количество виджетов внутри фрейма на основе данных, импортированных пользователем, не позволяя фрейму увеличивать окно за пределы экрана. Если фрейм становится больше, чем окно или его контейнер, я хочу, чтобы он отображал полосу прокрутки, а не расширялся дальше.

Минимальный пример, демонстрирующий проблему:

library(gWidgets)
library(gWidgetsRGtk2)
options("guiToolkit"="RGtk2")

win <- gwindow(height = 200)

pane <- gpanedgroup(container = win, horizontal = TRUE)
frame <- gframe("frame",container = pane,horizontal = FALSE)

for (counter in seq_len(50)) {
  gcheckbox("check", container = frame)
}

Цель состоит в том, чтобы frame можно было прокручивать. Добавление параметров прокрутки, как показано ниже, не помогло:

pane <- gpanedgroup(container = win, horizontal = TRUE, expand = FALSE)
frame <- gframe("frame",container = pane,horizontal = FALSE, use.scrollwindow=TRUE)

person bright-star    schedule 26.09.2014    source источник
comment
Попробуйте добавить экземпляр ggroup в качестве дочернего элемента фрейма. Этот виджет имеет опцию use.scrollwindow. Добавьте его с помощью expand=TRUE, как в ggroup(use.scrollwindow=TRUE, expand=TRUE, container=gframe_instance).   -  person jverzani    schedule 26.09.2014


Ответы (1)


Как сказал jverzani в комментариях, размещение объектов для прокрутки в ggroup с use.scrollwindow=TRUE и expand=TRUE создает желаемое поведение.

person Community    schedule 26.09.2014