Как изменить стиль фона TabView? - PullRequest
7 голосов
/ 29 ноября 2011

При включении трехмерного графика в TabView на моем компьютере вся вкладка становится серой, как если бы она была гигантской кнопкой, оставляя графику на белом фоне:

example

Чтобы избежать контраста между серым и белым, я бы предпочел, чтобы вкладка также имела белый цвет.

Пробовал BaseStyle -> {Background -> White}, но безуспешно (рестайлинг только границы).

Как изменить цвет фона вкладки?

Ответы [ 3 ]

5 голосов
/ 29 ноября 2011

Фон по умолчанию не белый, но прозрачный для графики, поэтому резкого контраста нет. Background -> White делает фон белым и оставляет границы, совершенно противоположное тому, что вы сказали. BaseStyle похоже ничего не делает.

Вот что я получаю в Windows XP:

TabView

РЕДАКТИРОВАНИЕ: Альтернативой является пользовательская TabView -реализация по следующим строкам:

objects = Table[Plot[f[x], {x, 0, 10}], {f, {Sin, Cos, Exp}}];

Column[
 {SetterBar[Dynamic[x], Thread[objects -> Range@Length[objects]]], 
  Dynamic[x]}
 ]

Это незакончено, но основы работают, и это показывает вам, как сделать это самостоятельно.

3 голосов
/ 29 ноября 2011

Я могу подтвердить утверждение Хайке для Windows 7.


Если вы хотите всегда перезаписывать системный цвет темы для полей TabView, вы можете оценить:

SetOptions[$FrontEnd,
  TabViewBoxOptions -> {Background -> GrayLevel[1]}
]

Используя тему «Windows 7 Basic» или «Windows 7 Aero», я вижу это:

enter image description here

Однако, используя тему «Windows Classic», я вижу это:

enter image description here

Если, используя классическую тему, я открою Window Color and Appearance и изменим 3D Objects Color 1 на белый, я вижу:

enter image description here

3 голосов
/ 29 ноября 2011

Похоже, это проблема конкретной ОС. На OS X TabView имеет серый фон (хотя и очень светлый), даже с Background->White. Например

TabView[Table[Plot[Sin[i x], {x, 0, 2 Pi}, Background -> White], {i, 4}], 
  Background->White]

производит это

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...