Theme
Hereda: Resource < RefCounted < Object
Un recurso utilizado para dar estilo/personalizar los Controles y Windows.
Descripción
Un recurso utilizado para estilizar/skinning en nodos Control y Window. Si bien los controles individuales se pueden estilizar utilizando sus modificaciones de tema locales (ver Control.add_theme_color_override()), los recursos de tema le permiten almacenar y aplicar la misma configuración en todos los controles que comparten el mismo tipo (por ejemplo, estilizar todos los Buttons de la misma manera). Se puede utilizar un recurso de tema para todo el proyecto, pero también puede establecer un recurso de tema separado para una rama de nodos de control. Un recurso de tema asignado a un control se aplica al propio control, así como a todos sus hijos directos e indirectos (siempre y cuando una cadena de controles no se interrumpa).
Utiliza ProjectSettings.gui/theme/custom para configurar un tema de alcance de proyecto que estará disponible para cada control en tu proyecto.
Utiliza Control.theme de cualquier nodo de control para configurar un tema que estará disponible para ese control y todos sus hijos directos e indirectos.
Tutoriales
Propiedades
|
||
|
Métodos
Enumeraciones
enum DataType: 🔗
DataType DATA_TYPE_COLOR = 0
Tipo de elemento Color del tema.
DataType DATA_TYPE_CONSTANT = 1
Tipo de elemento constante del tema.
DataType DATA_TYPE_FONT = 2
Tipo de elemento Font del tema.
DataType DATA_TYPE_FONT_SIZE = 3
Tipo de elemento de tamaño de fuente del tema.
DataType DATA_TYPE_ICON = 4
Tipo de elemento del icono del tema Texture2D.
DataType DATA_TYPE_STYLEBOX = 5
Tipo de objeto StyleBox del tema.
DataType DATA_TYPE_MAX = 6
Valor máximo para la enumeración DataType.
Descripciones de Propiedades
float default_base_scale = 0.0 🔗
El factor de escala base predeterminado de este recurso de tema. Utilizado por algunos controles para escalar sus propiedades visuales en función del factor de escala global. Si este valor se establece en 0.0, se utiliza el factor de escala global (véase ThemeDB.fallback_base_scale).
Utiliza has_default_base_scale() para comprobar si este valor es válido.
La fuente predeterminada de este recurso de tema. Se utiliza como valor predeterminado al intentar obtener un recurso de fuente que no existe en este tema o está en estado no válido. Si la fuente predeterminada también falta o no es válida, se utiliza el valor de reserva del motor (véase ThemeDB.fallback_font).
Utiliza has_default_font() para comprobar si este valor es válido.
El tamaño de fuente predeterminado de este recurso de tema. Se utiliza como valor predeterminado al intentar obtener un valor de tamaño de fuente que no existe en este tema o está en estado no válido. Si el tamaño de fuente predeterminado también falta o no es válido, se utiliza el valor de reserva del motor (véase ThemeDB.fallback_font_size).
Los valores inferiores a 1 no son válidos y pueden utilizarse para sobrescribir la propiedad. Utiliza has_default_font_size() para comprobar si este valor es válido.
Descripciones de Métodos
void add_type(theme_type: StringName) 🔗
Añade un tipo de tema vacío para cada tipo de datos válido.
Nota: Los tipos vacíos no se guardan con el tema. Este método solo existe para realizar cambios en memoria en el recurso. Utiliza los métodos set_* disponibles para añadir elementos de tema.
void clear() 🔗
Elimina todas las propiedades del tema definidas en el recurso del tema.
void clear_color(name: StringName, theme_type: StringName) 🔗
Elimina la propiedad Color definida por name y theme_type, si existe.
Falla si no existe. Utiliza has_color() para comprobar su existencia.
void clear_constant(name: StringName, theme_type: StringName) 🔗
Elimina la propiedad constante definida por name y theme_type, si existe.
Falla si no existe. Utiliza has_constant() para comprobar su existencia.
void clear_font(name: StringName, theme_type: StringName) 🔗
Elimina la propiedad Font definida por name y theme_type, si existe.
Falla si no existe. Utiliza has_font() para comprobar su existencia.
void clear_font_size(name: StringName, theme_type: StringName) 🔗
Elimina la propiedad de tamaño de fuente definida por name y theme_type, si existe.
Falla si no existe. Utiliza has_font_size() para comprobar su existencia.
void clear_icon(name: StringName, theme_type: StringName) 🔗
Elimina la propiedad de icono definida por name y theme_type, si existe.
Falla si no existe. Utiliza has_icon() para comprobar su existencia.
void clear_stylebox(name: StringName, theme_type: StringName) 🔗
Elimina la propiedad StyleBox definida por name y theme_type, si existe.
Falla si no existe. Utiliza has_stylebox() para comprobar su existencia.
void clear_theme_item(data_type: DataType, name: StringName, theme_type: StringName) 🔗
Elimina la propiedad de tema de data_type definida por name y theme_type, si existe.
Falla si no existe. Utiliza has_theme_item() para comprobar su existencia.
Nota: Este método es análogo a la llamada al método específico del tipo de datos correspondiente, pero puede utilizarse para una lógica más generalizada.
void clear_type_variation(theme_type: StringName) 🔗
Desmarca theme_type como una variación de otro tipo de tema. Véase set_type_variation().
Color get_color(name: StringName, theme_type: StringName) const 🔗
Devuelve la propiedad Color definida por name y theme_type, si existe.
Devuelve el valor de color por defecto si la propiedad no existe. Utiliza has_color() para comprobar su existencia.
PackedStringArray get_color_list(theme_type: String) const 🔗
Devuelve una lista de nombres para las propiedades Color definidas con theme_type. Utiliza get_color_type_list() para obtener una lista de posibles nombres de tipo de tema.
PackedStringArray get_color_type_list() const 🔗
Devuelve una lista de todos los nombres de tipo de tema únicos para las propiedades Color. Utiliza get_type_list() para obtener una lista de todos los tipos de tema únicos.
int get_constant(name: StringName, theme_type: StringName) const 🔗
Devuelve la propiedad constante definida por name y theme_type, si existe.
Devuelve 0 si la propiedad no existe. Utiliza has_constant() para comprobar su existencia.
PackedStringArray get_constant_list(theme_type: String) const 🔗
Devuelve una lista de nombres para las propiedades constantes definidas con theme_type. Utiliza get_constant_type_list() para obtener una lista de nombres de tipo de tema posibles.
PackedStringArray get_constant_type_list() const 🔗
Devuelve una lista de todos los nombres de tipo de tema únicos para las propiedades constantes. Utiliza get_type_list() para obtener una lista de todos los tipos de tema únicos.
Font get_font(name: StringName, theme_type: StringName) const 🔗
Devuelve la propiedad Font definida por name y theme_type, si existe.
Devuelve la fuente del tema por defecto si la propiedad no existe y la fuente del tema por defecto está configurada (véase default_font). Utiliza has_font() para comprobar la existencia de la propiedad y has_default_font() para comprobar la existencia de la fuente del tema por defecto.
Devuelve el valor de la fuente de reserva del motor, si ninguno existe (véase ThemeDB.fallback_font).
PackedStringArray get_font_list(theme_type: String) const 🔗
Devuelve una lista de nombres para las propiedades Font definidas con theme_type. Utiliza get_font_type_list() para obtener una lista de nombres de tipo de tema posibles.
int get_font_size(name: StringName, theme_type: StringName) const 🔗
Devuelve la propiedad de tamaño de fuente definida por name y theme_type, si existe.
Devuelve el tamaño de fuente del tema predeterminado si la propiedad no existe y el tamaño de fuente del tema predeterminado está configurado (véase default_font_size). Utiliza has_font_size() para comprobar la existencia de la propiedad y has_default_font_size() para comprobar la existencia de la fuente del tema predeterminado.
Devuelve el valor de tamaño de fuente de reserva del motor, si ninguno existe (véase ThemeDB.fallback_font_size).
PackedStringArray get_font_size_list(theme_type: String) const 🔗
Devuelve una lista de nombres para las propiedades de tamaño de fuente definidas con theme_type. Utiliza get_font_size_type_list() para obtener una lista de posibles nombres de tipo de tema.
PackedStringArray get_font_size_type_list() const 🔗
Devuelve una lista de todos los nombres de tipo de tema únicos para las propiedades de tamaño de fuente. Utiliza get_type_list() para obtener una lista de todos los tipos de tema únicos.
PackedStringArray get_font_type_list() const 🔗
Devuelve una lista de todos los nombres de tipo de tema únicos para las propiedades Font. Utiliza get_type_list() para obtener una lista de todos los tipos de tema únicos.
Texture2D get_icon(name: StringName, theme_type: StringName) const 🔗
Devuelve la propiedad de icono definida por name y theme_type, si existe.
Devuelve el valor del icono de reserva del motor si la propiedad no existe (véase ThemeDB.fallback_icon). Utiliza has_icon() para comprobar su existencia.
PackedStringArray get_icon_list(theme_type: String) const 🔗
Devuelve una lista de nombres para las propiedades de icono definidas con theme_type. Utiliza get_icon_type_list() para obtener una lista de posibles nombres de tipo de tema.
PackedStringArray get_icon_type_list() const 🔗
Devuelve una lista de todos los nombres de tipo de tema únicos para las propiedades de icono. Utiliza get_type_list() para obtener una lista de todos los tipos de tema únicos.
StyleBox get_stylebox(name: StringName, theme_type: StringName) const 🔗
Devuelve la propiedad StyleBox definida por name y theme_type, si existe.
Devuelve el valor de stylebox de reserva del motor si la propiedad no existe (véase ThemeDB.fallback_stylebox). Utiliza has_stylebox() para comprobar su existencia.
PackedStringArray get_stylebox_list(theme_type: String) const 🔗
Devuelve una lista de nombres para las propiedades StyleBox definidas con theme_type. Utiliza get_stylebox_type_list() para obtener una lista de posibles nombres de tipo de tema.
PackedStringArray get_stylebox_type_list() const 🔗
Devuelve una lista de todos los nombres de tipo de tema únicos para las propiedades StyleBox. Utiliza get_type_list() para obtener una lista de todos los tipos de tema únicos.
Variant get_theme_item(data_type: DataType, name: StringName, theme_type: StringName) const 🔗
Devuelve la propiedad del tema de data_type definida por name y theme_type, si existe.
Devuelve el valor de reserva del motor si la propiedad no existe (ver ThemeDB). Utiliza has_theme_item() para comprobar su existencia.
Nota: Este método es análogo a la llamada al método específico del tipo de datos correspondiente, pero puede utilizarse para una lógica más generalizada.
PackedStringArray get_theme_item_list(data_type: DataType, theme_type: String) const 🔗
Devuelve una lista de nombres para las propiedades de data_type definidas con theme_type. Utiliza get_theme_item_type_list() para obtener una lista de posibles nombres de tipo de tema.
Nota: Este método es análogo a la llamada al método específico del tipo de datos correspondiente, pero puede utilizarse para una lógica más generalizada.
PackedStringArray get_theme_item_type_list(data_type: DataType) const 🔗
Devuelve una lista de todos los nombres de tipo de tema únicos para las propiedades de data_type. Utiliza get_type_list() para obtener una lista de todos los tipos de tema únicos.
Nota: Este método es análogo a la llamada al método específico del tipo de datos correspondiente, pero puede utilizarse para una lógica más generalizada.
PackedStringArray get_type_list() const 🔗
Devuelve una lista de todos los nombres de tipo de tema únicos. Utiliza el método get_*_type_list apropiado para obtener una lista de tipos de tema únicos para un único tipo de datos.
StringName get_type_variation_base(theme_type: StringName) const 🔗
Devuelve el nombre del tipo de tema base si theme_type es un tipo de variación válido. En caso contrario, devuelve una string vacía.
PackedStringArray get_type_variation_list(base_type: StringName) const 🔗
Devuelve una lista de todas las variaciones de tipo para el base_type dado.
bool has_color(name: StringName, theme_type: StringName) const 🔗
Devuelve true si la propiedad Color definida por name y theme_type existe.
Devuelve false si no existe. Utiliza set_color() para definirla.
bool has_constant(name: StringName, theme_type: StringName) const 🔗
Devuelve true si la propiedad constante definida por name y theme_type existe.
Devuelve false si no existe. Utiliza set_constant() para definirla.
bool has_default_base_scale() const 🔗
Devuelve true si default_base_scale tiene un valor válido.
Devuelve false si no lo tiene. El valor debe ser mayor que 0.0 para ser considerado válido.
bool has_default_font() const 🔗
Devuelve true si default_font tiene un valor válido.
Devuelve false si no lo tiene.
bool has_default_font_size() const 🔗
Devuelve true si default_font_size tiene un valor válido.
Devuelve false si no lo tiene. El valor debe ser mayor que 0 para ser considerado válido.
bool has_font(name: StringName, theme_type: StringName) const 🔗
Devuelve true si la propiedad Font definida por name y theme_type existe, o si la fuente del tema predeterminada está configurada (véase has_default_font()).
Devuelve false si ninguna de las dos existe. Utiliza set_font() para definir la propiedad.
bool has_font_size(name: StringName, theme_type: StringName) const 🔗
Devuelve true si la propiedad de tamaño de fuente definida por name y theme_type existe, o si el tamaño de fuente del tema predeterminado está configurado (véase has_default_font_size()).
Devuelve false si ninguno de los dos existe. Utiliza set_font_size() para definir la propiedad.
bool has_icon(name: StringName, theme_type: StringName) const 🔗
Devuelve true si la propiedad de icono definida por name y theme_type existe.
Devuelve false si no existe. Utiliza set_icon() para definirla.
bool has_stylebox(name: StringName, theme_type: StringName) const 🔗
Devuelve true si la propiedad StyleBox definida por name y theme_type existe.
Devuelve false si no existe. Utiliza set_stylebox() para definirla.
bool has_theme_item(data_type: DataType, name: StringName, theme_type: StringName) const 🔗
Devuelve true si existe la propiedad de tema de data_type definida por name y theme_type.
Devuelve false si no existe. Utiliza set_theme_item() para definirla.
Nota: Este método es análogo a la llamada al método específico del tipo de datos correspondiente, pero puede utilizarse para una lógica más generalizada.
bool is_type_variation(theme_type: StringName, base_type: StringName) const 🔗
Devuelve true si theme_type está marcado como una variación de base_type.
void merge_with(other: Theme) 🔗
Añade las definiciones que faltan y sobrescribe las existentes con los valores del recurso de tema other.
Nota: Esto modifica el tema actual. Si quieres fusionar dos temas sin modificar ninguno de los dos, crea un nuevo tema vacío y fusiona los otros dos en él uno tras otro.
void remove_type(theme_type: StringName) 🔗
Elimina el tipo de tema, descartando con elegancia los elementos de tema definidos. Si el tipo es una variación, esta información también se borra. Si el tipo es una base para las variaciones de tipo, esas variaciones pierden su base.
void rename_color(old_name: StringName, name: StringName, theme_type: StringName) 🔗
Cambia el nombre de la propiedad Color definida por old_name y theme_type a name, si existe.
Falla si no existe, o si ya existe una propiedad similar con el nuevo nombre. Utiliza has_color() para comprobar su existencia, y clear_color() para eliminar la propiedad existente.
void rename_constant(old_name: StringName, name: StringName, theme_type: StringName) 🔗
Cambia el nombre de la propiedad constante definida por old_name y theme_type a name, si existe.
Falla si no existe, o si ya existe una propiedad similar con el nuevo nombre. Utiliza has_constant() para comprobar su existencia y clear_constant() para eliminar la propiedad existente.
void rename_font(old_name: StringName, name: StringName, theme_type: StringName) 🔗
Cambia el nombre de la propiedad Font definida por old_name y theme_type a name, si existe.
Falla si no existe, o si ya existe una propiedad similar con el nuevo nombre. Utiliza has_font() para comprobar su existencia, y clear_font() para eliminar la propiedad existente.
void rename_font_size(old_name: StringName, name: StringName, theme_type: StringName) 🔗
Cambia el nombre de la propiedad de tamaño de fuente definida por old_name y theme_type a name, si existe.
Falla si no existe, o si ya existe una propiedad similar con el nuevo nombre. Utiliza has_font_size() para comprobar su existencia y clear_font_size() para eliminar la propiedad existente.
void rename_icon(old_name: StringName, name: StringName, theme_type: StringName) 🔗
Cambia el nombre de la propiedad de icono definida por old_name y theme_type a name, si existe.
Falla si no existe, o si ya existe una propiedad similar con el nuevo nombre. Utiliza has_icon() para comprobar su existencia, y clear_icon() para eliminar la propiedad existente.
void rename_stylebox(old_name: StringName, name: StringName, theme_type: StringName) 🔗
Cambia el nombre de la propiedad StyleBox definida por old_name y theme_type a name, si existe.
Falla si no existe, o si ya existe una propiedad similar con el nuevo nombre. Utiliza has_stylebox() para comprobar su existencia, y clear_stylebox() para eliminar la propiedad existente.
void rename_theme_item(data_type: DataType, old_name: StringName, name: StringName, theme_type: StringName) 🔗
Cambia el nombre de la propiedad del tema de data_type definida por old_name y theme_type a name, si existe.
Falla si no existe, o si ya existe una propiedad similar con el nuevo nombre. Utiliza has_theme_item() para comprobar su existencia y clear_theme_item() para eliminar la propiedad existente.
Nota: Este método es análogo a la llamada al método específico del tipo de datos correspondiente, pero puede utilizarse para una lógica más generalizada.
void rename_type(old_theme_type: StringName, theme_type: StringName) 🔗
Cambia el nombre del tipo de tema old_theme_type a theme_type, si el tipo antiguo existe y el nuevo no.
Nota: Cambiar el nombre de un tipo de tema a un nombre vacío o una variación a un tipo asociado a una clase incorporada elimina las conexiones de variación de tipo de una manera que no se puede deshacer invirtiendo el cambio de nombre por sí solo.
void set_color(name: StringName, theme_type: StringName, color: Color) 🔗
Crea o cambia el valor de la propiedad Color definida por name y theme_type. Utiliza clear_color() para eliminar la propiedad.
void set_constant(name: StringName, theme_type: StringName, constant: int) 🔗
Crea o cambia el valor de la propiedad constante definida por name y theme_type. Utiliza clear_constant() para eliminar la propiedad.
void set_font(name: StringName, theme_type: StringName, font: Font) 🔗
Crea o cambia el valor de la propiedad Font definida por name y theme_type. Utiliza clear_font() para eliminar la propiedad.
void set_font_size(name: StringName, theme_type: StringName, font_size: int) 🔗
Crea o cambia el valor de la propiedad de tamaño de fuente definida por name y theme_type. Utiliza clear_font_size() para eliminar la propiedad.
void set_icon(name: StringName, theme_type: StringName, texture: Texture2D) 🔗
Crea o cambia el valor de la propiedad de icono definida por name y theme_type. Utiliza clear_icon() para eliminar la propiedad.
void set_stylebox(name: StringName, theme_type: StringName, texture: StyleBox) 🔗
Crea o cambia el valor de la propiedad StyleBox definida por name y theme_type. Utiliza clear_stylebox() para eliminar la propiedad.
void set_theme_item(data_type: DataType, name: StringName, theme_type: StringName, value: Variant) 🔗
Crea o cambia el valor de la propiedad del tema de data_type definida por name y theme_type. Utiliza clear_theme_item() para eliminar la propiedad.
Falla si el tipo de value no es aceptado por data_type.
Nota: Este método es análogo a la llamada al método específico del tipo de datos correspondiente, pero puede utilizarse para una lógica más generalizada.
void set_type_variation(theme_type: StringName, base_type: StringName) 🔗
Marca theme_type como una variación de base_type.
Esto añade theme_type como una opción sugerida para Control.theme_type_variation en un Control que es de la clase base_type.
Las variaciones también pueden anidarse, es decir, base_type puede ser otra variación. Si una cadena de variaciones termina con un base_type que coincide con la clase del Control, toda la cadena se va a sugerir como opciones.
Nota: Las sugerencias solo aparecen si este recurso de tema está establecido como el tema predeterminado del proyecto. Véase ProjectSettings.gui/theme/custom.