Altura do controle não é respeitada!

1. Altura do controle não é respeitada!

Apprentice X
ApprenticeX

(usa Slackware)

Enviado em 25/02/2023 - 16:52h

Boa Tarde a todos!

Estou com um problema que deveria ser fácil de resolver :(
DEFINI tamanho de controles usando: gtk_widget_set_size_request
para 25 de altura! No GtkButton, GtkEntry

Mas eles não respeitam o pedido de 25 de altura, insistindo em manter 34 de altura

Alguém sabe como conserto isso?


  


2. Re: Altura do controle não é respeitada!

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 25/02/2023 - 16:52h

Boa Tarde!

Para definir o tamanho de um controle usando o comando `gtk_widget_set_size_request` com 25 de altura, os valores tem que ser configurados corretamente. Quando a altura é definida como 25, isso significa que o controle precisa ter 25 pixels de altura + um espaço adicional de 9 pixels (34 pixels de altura no total), para criar um tamanho adequado.

Para conseguir o tamanho de 25 pixels de altura, defina `gtk_widget_set_size_request` com a altura especificada como 16. Desta forma, o controle terá 25 pixels de altura + um espaço adicional de 9 pixels.

Espero ter sido útil. Qualquer dúvida, não deixe de perguntar.


3. Re: Altura do controle não é respeitada!

Apprentice X
ApprenticeX

(usa Slackware)

Enviado em 25/02/2023 - 16:55h


alexabolada escreveu:

Boa Tarde!

Para definir o tamanho de um controle usando o comando `gtk_widget_set_size_request` com 25 de altura, os valores tem que ser configurados corretamente. Quando a altura é definida como 25, isso significa que o controle precisa ter 25 pixels de altura + um espaço adicional de 9 pixels (34 pixels de altura no total), para criar um tamanho adequado.

Para conseguir o tamanho de 25 pixels de altura, defina `gtk_widget_set_size_request` com a altura especificada como 16. Desta forma, o controle terá 25 pixels de altura + um espaço adicional de 9 pixels.

Espero ter sido útil. Qualquer dúvida, não deixe de perguntar.

Qualquer valor que eu defina mesmo: gtk_widget_set_size_request(entry, 5, 10);
Ele sempre mantem 34 ou seja nunca diminui de 34



4. Re: Altura do controle não é respeitada!

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 25/02/2023 - 16:55h

Sim, isso é correto. O tamanho mínimo que você pode definir é 16, pois é o valor que dá o tamanho de 25 píxels de altura + 9 píxels extras. Ao definir com 5 ou 10, o tamanho mínimo seria de 34 píxels. Para um tamanho real de 25 pixels, utilize o comando `gtk_widget_set_size_request(entry, 16, N)`, onde N é um valor inteiro.


5. Re: Altura do controle não é respeitada!

Apprentice X
ApprenticeX

(usa Slackware)

Enviado em 25/02/2023 - 16:59h


alexabolada escreveu:

Sim, isso é correto. O tamanho mínimo que você pode definir é 16, pois é o valor que dá o tamanho de 25 píxels de altura + 9 píxels extras. Ao definir com 5 ou 10, o tamanho mínimo seria de 34 píxels. Para um tamanho real de 25 pixels, utilize o comando `gtk_widget_set_size_request(entry, 16, N)`, onde N é um valor inteiro.


Sim mas como eu disse, eu tentei primeiro 16 de altura: gtk_widget_set_size_request(entry, 5, 16);
E a altura continua em 34


6. Re: Altura do controle não é respeitada!

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 25/02/2023 - 16:59h

Resposta: Sim, o valor que você definiu é correto. O tamanho real mínimo é de 25 pixels e para isso é necessário definir a altura como 16. Para definir o tamanho mínimo, utilize `gtk_widget_set_size_request(entry, 5, 16)`. Se você definir um valor menor que 16, o tamanho mínimo será de 34 pixels.


7. Re: Altura do controle não é respeitada!

Apprentice X
ApprenticeX

(usa Slackware)

Enviado em 25/02/2023 - 17:00h


alexabolada escreveu:

Resposta: Sim, o valor que você definiu é correto. O tamanho real mínimo é de 25 pixels e para isso é necessário definir a altura como 16. Para definir o tamanho mínimo, utilize `gtk_widget_set_size_request(entry, 5, 16)`. Se você definir um valor menor que 16, o tamanho mínimo será de 34 pixels.


Fiz o que você falou, e continua com tamanho 34


8. Re: Altura do controle não é respeitada!

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 25/02/2023 - 17:00h

Sim, o que você fez foi correto. O tamanho real mínimo de um widget do GTK+ é definido pela altura. Para definir a altura mínima desejada, basta usar a função `gtk_widget_set_size_request(entry, 5, 16)`, onde 16 é a altura mínima desejada. Se definir um valor menor que 16, o tamanho mínimo será 34 pixels.


9. Re: Altura do controle não é respeitada!

Ricardo
Boot32

(usa Debian)

Enviado em 25/02/2023 - 17:31h


ApprenticeX escreveu:

Boa Tarde a todos!

Estou com um problema que deveria ser fácil de resolver :(
DEFINI tamanho de controles usando: gtk_widget_set_size_request
para 25 de altura! No GtkButton, GtkEntry

Mas eles não respeitam o pedido de 25 de altura, insistindo em manter 34 de altura

Alguém sabe como conserto isso?


Vc é o hacker que tinha um blog?
Eu acessava direto seu blog!
Tinha bastante coisa legal lá, o blog ainda existe?


10. Re: Altura do controle não é respeitada!

Buckminster
Buckminster

(usa Debian)

Enviado em 27/02/2023 - 12:01h

gtk_window_set_default_size()
Define o tamanho padrão de uma janela.
Se o tamanho “natural” da janela (sua solicitação de tamanho) for maior que o padrão, o padrão será ignorado.
Verifique se o tamanho padrão não está fixado.
Para desfixar o tamanho padrão coloque -1.
https://docs.gtk.org/gtk4/method.Window.set_default_size.html

gtk_widget_set_size_request (
GtkWidget* widget,
gint width (largura primeiro),
gint height (altura)
)
https://docs.gtk.org/gtk3/method.Widget.set_size_request.html



________________________________________________
Always listen the Buck!


11. Re: Altura do controle não é respeitada!

Apprentice X
ApprenticeX

(usa Slackware)

Enviado em 02/03/2023 - 02:44h

Buckminster escreveu:
gtk_window_set_default_size()
Define o tamanho padrão de uma janela.
Se o tamanho “natural” da janela (sua solicitação de tamanho) for maior que o padrão, o padrão será ignorado.
Verifique se o tamanho padrão não está fixado.
Para desfixar o tamanho padrão coloque -1.
https://docs.gtk.org/gtk4/method.Window.set_default_size.html

Essa resposta, não tem nada a ver com a pergunta!

Buckminster escreveu: gtk_widget_set_size_request (
GtkWidget* widget,
gint width (largura primeiro),
gint height (altura)
)
https://docs.gtk.org/gtk3/method.Widget.set_size_request.html

Porfavor, leia a pergunta primeiro, leia o que respondi nos posts que tentei, se existir alguma forma diferente de declarar: gtk_widget_set_size_request(entry, 5, 10);
Que funcione, Me informe, pq não conheço!

E me responda com uma resposta que apresente alguma solução.
Isso não chega nem perto de responder a pergunta!

O Link que menciona não resolve o problema, visto que trata-se do comando que NÃO FUNCIONA como mencionei na pergunta! Até porque ele não muda o tamanho, porque é apenas uma sugestão de tamanho! E não uma ORDEM!

Se você consegue fazer um GtkButton ou GtkEntry ter menos de 34 de altura com esse comando, porfavor poste a solução!
Ou se conheçe alguma outra forma de resolver, também agradeço!



12. Re: Altura do controle não é respeitada!

Buckminster
Buckminster

(usa Debian)

Enviado em 02/03/2023 - 14:56h

Caso tu tivesse lido os links (não são grandes os textos) e pesquisado ali em vez de dar chilique entenderia que tem tudo a ver com teu problema.
Vamos lá, vou explicar, mas não vou desenhar.

No primeiro link:
Using the window allocation directly will not work in all circumstances and can lead to growing or shrinking windows.

"Usar a alocação de janela diretamente NÃO FUNCIONARÁ EM TODAS AS CIRCUNSTÂNCIAS e pode levar ao aumento ou redução das janelas."

No segundo link:
The size request of a widget is the smallest size a widget can accept while still functioning well and drawing itself correctly. However in some strange cases a widget may be allocated less than its requested size, and in many cases a widget may be allocated more space than it requested.

"A solicitação de tamanho de um widget é o menor tamanho que um widget pode aceitar enquanto ainda funciona bem e se desenha corretamente. No entanto, em alguns casos estranhos um widget pode receber menos do que o tamanho solicitado e, em muitos casos, um widget pode receber mais tamanho do que o solicitado."

Isso significa que depende do widget e depende também se não está fixado um tamanho padrão.

E veja aqui, seu animal:
https://docs.gtk.org/gtk4/class.Entry.html

Veja se tem o comando set_size_request para Entrys.

Para button tente usar gtk_editable_set_width_chars() e set_max_length().
E para entry pode usar gtk_entry_set_width_chars() e set_max_length().

set_width_chars define a largura máxima desejada em caracteres da entry
set_max_length define o comprimento máximo do conteúdo do widget.

Por exemplo, se tu colocar max_length como 5 e width_chars como 2 e digitar o texto "12345" a entry vai aceitar o resize, porém não aceita um rezise que fique menor que 2 charateres.


________________________________________________
Always listen the Buck!



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts