2011-11-29 19 views
7

Quando incluso un grafico 3D all'interno di un TabView, nel mio computer, l'intera scheda è in grigio, come se fosse un enorme bottone, lasciando i grafici con uno sfondo bianco:Come modificare lo stile di sfondo di TabView?

example

Per evitare il contrasto tra il grigio e il bianco, preferirei che la linguetta avesse anche un colore bianco.

Provato BaseStyle -> {Background -> White} ma senza successo (solo i confini vengono ridisegnati).

Come posso modificare il colore di sfondo della scheda?

+0

Graphics hanno sfondo trasparente di default, non bianco, quindi non ci sarà un bordo visibile intorno alla grafica. Potresti pubblicare un esempio grafico che mostri in modo più chiaro di cosa hai bisogno e includere anche la domanda completa nel corpo del post (non solo il titolo)? – Szabolcs

+0

Hai ragione, ma ho importato un file stl 3D e viene visualizzato con uno sfondo bianco. –

+1

Grazie per l'immagine. +1 –

risposta

5

Lo sfondo predefinito non è bianco ma trasparente per la grafica, quindi non c'è contrasto. Background -> White rende lo sfondo bianco e lascia i bordi, esattamente l'opposto di quello che hai detto. BaseStyle non sembra fare nulla.

Questo è ciò che ottengo su Windows XP:

TabView

EDIT: Un'alternativa è una consuetudine TabView -attuazione secondo le seguenti linee:

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

Column[ 
{SetterBar[Dynamic[x], Thread[objects -> [email protected][objects]]], 
    Dynamic[x]} 
] 

Questo è incompiuto, ma le basi funzionano e ti mostrano come farlo da solo.

+0

Non so perché sono andato direttamente al BaseStyle (una cosa di aiuto immagino ...). Nel mio XP funziona proprio come hai detto tu. Grazie per avermi ricordato delle mie limitate capacità ... –

+0

@ P.Fonseca Hai ragione, gli oggetti 3D hanno sempre uno sfondo bianco qui. Ma come ha sottolineato Heike, funziona solo su Windows, ed è anche brutto. Quindi potresti voler andare con un'implementazione 'TabView' personalizzata. Guarda la mia modifica per vedere come farlo. – Szabolcs

3

Questo sembra essere un problema specifico del sistema operativo. Su OS X, TabView ha uno sfondo grigio (anche se molto chiaro), anche con Background->White. Per esempio

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

produce questo

enter image description here

+1

I controlli classici di Windows possono essere abbinati a colori arbitrari. Sembra che questo sia ciò che fa Mathematica: ritorna ai brutti controlli classici di Windows. Almeno su XP. – Szabolcs

3

posso confermare l'asserzione di Heike per Windows 7.


Se si desidera sovrascrivere sempre il colore del tema di sistema per TabView scatole, è possibile valutare:

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

Utilizzando sia il tema "Windows 7 Basic" o "Windows 7 Aero" , vedo questo:

enter image description here

Tuttavia, utilizzando il tema "Windows Classic" Vedo questo:

enter image description here

Se, utilizzando il tema classico, apro Window Color and Appearance e cambiare il 3D ObjectsColor 1 al bianco, vedo:

enter image description here

Problemi correlati