Consejos aspecto gui?

Iniciado por @XSStringManolo, 19 Junio 2019, 11:37 AM

0 Miembros y 1 Visitante están viendo este tema.

@XSStringManolo



No me gustan nada varias cosas:
-Las dimensiones del borde superioir de la ventana.
-Los textos esos de clave de cifrado con el gris feo y las flechas cutres.
-El color de la ventana. (Quiero usar una foto de fondo así edito el aspecto y los colores con mucha precisión.
-Faltan bordes?

Está muy cutre. Qué le cambiaríais?

Serapis

#1
De entrada un color verde brillante hace un alto contraste sobre el resto de colores.

En general es preferible tomar colores de una gama de un mismo color o colo similar.
Por ejemplo si eliges un negro como fondo principal, otros fondos tendrían a lo sumo o negro o un gris oscuro tirando a negro, el texto entonces podría ser un color claro y diferentes textos una gama del mismo.

El borde superior puede valer si se aprovecha para poner el título de la aplicación con letras más grandes (y elegantes, tal vez).

No uses más de 2-3 fuentes diferentes en la interfaz.
Los 'label' que tengan como color de fondo, el mismo que el contenedor donde yace, así es como si fuera transparente.

Los botones ponlos todos del mismo color, y si no terminan de gustarte, elige alguna imagen representativa de su acción y con un tooltip para aclarar a quien no entienda intuitivamente su acción por la imagen.
Por ejemplo, en la siguiente captura los dos botones del medio, dejan claro que uno cifrara (el de flecha abajo), lo que está arriba y saldrá cifrado abajo, y el otro (el de flecha arriba) descifrará lo que está abajo y dejará el texto en claro arriba... Un texto similar a éste descrito, podría ser el toooltip de cada uno

Tal vez el programa no precise el botón de maximizar, sólo el de cierre y minimizar.

Un ejemplo:

Nota como las opcines están en medio, la idea es que sea reversible cifrar/descifrar, pero vamos tú decides...

@XSStringManolo

#2
Joder, mucho más estética moderna que la mía. Sobre todo el título color y distribución.

Tengo una fuente muy chula que usaré, que me la descarge de truefonts y es de uso libre, aunque me gusta esta fuente por defecto.  No quiero ponerle título. Me parece info inútil. Aunque en tu programa es un elemento estético.

Lo que no me gustaba de los label con transparencia es que los 2 textos no miden lo mismo, y los label sí. En mi ventana quedaba mal.

En la lista desplegable que tengo puesta van a estar diversas opciones en plan:
Cesar
Cesar (Descifrar)
Base64
Base64 (Descifrar)
...

Necesito el boton de maximizar. Al maximizar voy a llenar la pantalla de checkboxes y otros controles para añadir opciones avanzadas del estilo:
_______________________________________________________________
Archivo l Editar l Vista l ... l ... l ....... l  .... l ... |
------------------  crear log x   comprimir salida x  |
            ▪^x |  abrir log x  .............................   |
Controles   |  ..............     .............................   |
 Ventana    |  ..............     .............................   |
   Actual     |                                                  |
                  |       Ventana Maximizada           |
                  |                                                  |
~~~~~~~  ...............    ............................... |
Crear cifrado  [             ]   Opciones cifrado    |
Borrar cifrado ...............    .............................. |
Ordenar          ...............    .............................. |
.....................  .................  ...............................|
-----------------------------------------------------------------

Serapis

En general sobrecargar una interfaz con demasiados elementos, es nocivo de cara al usuario, lo espanta, lo tira para atrás, por que la primera impresión que tiene es que resulta demasiado complejo y él se considera demasiado torpe.
Tan solo lo suelen agradecer los usuarios avanzados (pero con el tiempo, por lo que incluso para éstos es bueno disponer opciones para sobrecargarlo gradualmente a gusto del interesado).

Es mejor exponer una interfaz distribuída, que la ventana principal (cuando la aplicación tiene cierta complejidad), sea simple, exponiendo opciones a modo de menús, y que luego al activar una, despliegue una ventana adicional que superpone en primer plano, donde el usuario rellena detalles y ejecuta la acción. Esto a sú vez también te permite tener mejor ordenado y modularizado el código, para cuando sea preciso hacer modificaciones tocar solo la parte que corresponda sin perder tiempo revisando código que de entrada sabes que queda fuera de lo que pretendes cambiar.
Si varias ventanas resultan ser muy parecidas, porque incluyen funcionalidad idéntica o casi, incluso resulta aceptable crear interfaces que uno implementa para cada tipo de cifrado...

Una forma usual de hacer que labels con distinto tamaño ocupen lo mismo es usar algo de relleno, pero que visualmente no impacte negativamente, un ejemplo:

  CLAVE DE CIFRADO ..............:
  VUELTAS DEL CIFRADO ...........:

Para ello se recurre a utilizar una fuente monoespaciada, todos los textos implicados tienen la misma cantidad de caracteres, rellenando con puntos cuanto haga falta.
El usar la fuente monoespaciada te soluciona el tener que medir los tamaños exactos de cada carácter, bastando saber que tienen todos la misma cantidad de caracteres, si todos tienen la misma alineación y propiedades (cursiva, negrita, tamaño, etc...) todos ocupan el mismo espacio visual.

Cuando uses fuentes, una cuestión a tener en cuenta al elegir fuentes para usar en un programa, es conocer si la fuente está ampliamente usada o no, de no estarlo, tendrás que instalarla donde se vaya a usar el programa, de no ser así, los sistemas suelen usar alguna que 'supuestamente' se aproxime (por familia y tal) con la ausente (los sistemas intentan suplirla con la que consideran que más se aproxima), pero en muchos casos no suelen acertar (tanto más cierto cuanto más 'extraña' resulte la fuente), lo que puede acabar en algún galimatías ininteligible o bien un tamaño de letra enorme o enano...
Otra opción es no usar una fuente 'instalada/a instalar' en el sistema, si no crear tu mismo los gráficos de una fuente que incluyes como recurso gráfico. La ventaja es que así puedes tener una fuente todo lo compleja y extraña que quieras, pués tú lo controlas todo, la desventaja es que al ser gráficos, imprimir cualquier texto implica añadir algunas funciones para hacerlo tú, luego supone un añadido de código para escalar, colorear, posicionar, transparencia, y por supuesto dibujado, etc... cada texto que utilice dicha 'fuente'. Pero como lo controlas todo, puedes darle efectos muy buenos, como brillos, reflejos, sombras, gradientes, etc...

@XSStringManolo

Qué consejazos.

No me gusta nada sobrecargarla. Mi mayor preocupación es que me queden cosas fuera se la ventana a usar alguna resolución pequeña. Mi idea es obtener el tamaño del escritorio y utilizar operaciones para ajustar justo como lo quiero en plan:
GetResEscritorioX(X);
GetResEscritorioY(Y);

AnchoControl1 = X/8;
AltoControl1=Y/20;
PosxControl1 = X/4;
PosyControl1 = Y/4;

Y algo así para que se me ajuste todo. Seguro hay alguna manera mejor de hacerlo.

La ventana principal será simple y para usar sin maximizar. Pero al maximizar es donde tendrá muchas opciones. Tambien le haré un instaler con ventana de bienvenida y opciones muy básicas de configuración con un botonaco grande: EMPEZAR.

Si tengo que hacer una ventana para cada cifrado necesitaré 300 ventanas xD. Creo que con la lista me vale jajaja

Necesito usar gdi y en codeblocks no me vienen las librerías.
La fuente monoespaciada es horrible no?

devLand93

¿Por qué XP? ¿por qué un gui tan a las rocas?

Teniendo cosas como .NET o Qt por ejemplo, no entiendo estas cosas estimado.

@XSStringManolo

Es un windows xp modificado muy ligero livecd.
Puedo llevarlo en el pen y programar y usar todo de forma portable en segundos en cualquier pc.
Me muevo todo el rato y me gusta tener solo un systema con persistencia. Tengo muchos pcs que venían con windows ME y cosas así. Lo updatee de hardware un poco y me tira el xo sin problemas. Lo uso de servers con discos duros de mínimo espacio. Entre el sistema del server, software, etc, no me entra un windows. Están petados.

No siento que la api de windows me limite en absoluto. Simplemente no tengo experiencia en ella.
QT no me funciona en este XP.

De todas formas es 100% uso personal. Pero ya que lo hago para mi, quiero que a la gente le guste y publicarlo para que lo usen.