Autore Topic: Trasparenza Form Qt  (Letto 1857 volte)

Offline baldi96

  • Gamberetto
  • *
  • Post: 19
  • zZzZzZzZzZzZzZzZz
    • Mostra profilo
Trasparenza Form Qt
« il: 04 Marzo 2013, 16:56:01 »
Ciao a tutti,
necessito della semi-trasparenza come sfondo del form(tipo i widjet di KDE) e dopo varie ricerche ho capito che questa cosa non è possibile farla in gambas.
però sò che è possibile ,almeno negli altri linguaggi, usando delle api di QT e allora mi domando se è possibile usare direttamente le api Qt per la trasparenza direttamente in un progetto gambas?
Grazie comumque anche se la cosa risulterà impossibile. :2birre:
« Ultima modifica: 04 Marzo 2013, 17:16:50 da baldi96 »
"Disobedience, in the eyes of anyone who has read history, is man's original virtue. It is through disobedience and rebellion that progress has been made."
-- Oscar Wilde, The Soul of Man Under Socialism

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #1 il: 04 Marzo 2013, 22:27:18 »
Io non ho KDE, ma GNome, comunque credo che quanto rilevato fra le proprietà delle Form sia ininfluente.
Gambas3, ma anche le versioni  precedenti, possiede, fra le proprietà delle Form, la proprietà "Opacity" che di default è posta a 100, ma basta cambiarla in un valore più basso, per.es.80 per ottenere un effetto di semitrasparenza.
Provare per credere.
 ;)   :ciao:
:ciao:

Offline baldi96

  • Gamberetto
  • *
  • Post: 19
  • zZzZzZzZzZzZzZzZz
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #2 il: 05 Marzo 2013, 14:35:49 »
Grazie lo stesso ma questo gia lo sapevo,ma la proprieta opacity mette la trasparenza anche ai controlli contenuti nel form,invece a me serve che
 lo sfondo sia semitrasparente
« Ultima modifica: 05 Marzo 2013, 14:46:03 da baldi96 »
"Disobedience, in the eyes of anyone who has read history, is man's original virtue. It is through disobedience and rebellion that progress has been made."
-- Oscar Wilde, The Soul of Man Under Socialism

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #3 il: 05 Marzo 2013, 18:31:04 »
puoi provare ad applicare al form un immagine png semitrasparente e poi abiliti l' opzione mask del form

Offline baldi96

  • Gamberetto
  • *
  • Post: 19
  • zZzZzZzZzZzZzZzZz
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #4 il: 07 Marzo 2013, 15:48:13 »
puoi provare ad applicare al form un immagine png semitrasparente e poi abiliti l' opzione mask del form
No avevo giá provato cosí e non funziona ,penso bisognerebbe usare il framework qt nativo,quello che usi in c++ insomma, ma non ho la + pallida idea di come si faccia.
Mi serve una cosa simile alla proprietá Transparencykey che si ha in vb.
« Ultima modifica: 07 Marzo 2013, 17:45:36 da baldi96 »
"Disobedience, in the eyes of anyone who has read history, is man's original virtue. It is through disobedience and rebellion that progress has been made."
-- Oscar Wilde, The Soul of Man Under Socialism

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #5 il: 07 Marzo 2013, 17:06:41 »
puoi provare ad applicare al form un immagine png semitrasparente e poi abiliti l' opzione mask del form
No avevo giá provato cosí e non funziona ,


Se per sfondo semitrasparente si intende una immagine - visibile - impostata sullo sfondo trasparente del Form (tale da far vedere, quando si lancia il programma, soltanto quell'immagine, come se lo sfondo avesse la forma dei contorni e l'aspetto dell'immagine), allora la soluzione proposta da fsurfing a me funziona perfettamente.
« Ultima modifica: 07 Marzo 2013, 17:09:04 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline baldi96

  • Gamberetto
  • *
  • Post: 19
  • zZzZzZzZzZzZzZzZz
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #6 il: 07 Marzo 2013, 17:35:47 »
per semitrasparente intendevo far vedere cosa c'è sotto la form, come nell' immagine allegata.
la proprietà mask si funziona con normali immagini,ridimensiona il form a seconda dell'immagine, ma se l'immagine è semitrasparente non funziona.
« Ultima modifica: 07 Marzo 2013, 17:39:57 da baldi96 »
"Disobedience, in the eyes of anyone who has read history, is man's original virtue. It is through disobedience and rebellion that progress has been made."
-- Oscar Wilde, The Soul of Man Under Socialism

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #7 il: 07 Marzo 2013, 17:54:37 »
per semitrasparente intendevo far vedere cosa c'è sotto la form, come nell' immagine allegata.
la proprietà mask si funziona con normali immagini,ridimensiona il form a seconda dell'immagine, ma se l'immagine è semitrasparente non funziona.

Cioè tu dici che impostata un'immagine (già resa a parte) semitrasparente, il Form non conferma la sua capacità di trasparenza ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline baldi96

  • Gamberetto
  • *
  • Post: 19
  • zZzZzZzZzZzZzZzZz
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #8 il: 07 Marzo 2013, 18:44:13 »
si , se per esempio imposto come picture la prima immagine allegata(la parte bianca è quella trasparente) , quando eseguo il form appare come nella seconda immagine.
ciò succede sia con compiz che con kwin.facendo varie ricerche ho scoperto che facendo così gambas non supporta la trasparenza , allora ho pensato se si potevano usare le api di qt in un progetto gambas per ovviare a questo problema.
« Ultima modifica: 07 Marzo 2013, 18:46:04 da baldi96 »
"Disobedience, in the eyes of anyone who has read history, is man's original virtue. It is through disobedience and rebellion that progress has been made."
-- Oscar Wilde, The Soul of Man Under Socialism

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #9 il: 07 Marzo 2013, 19:39:37 »
si , se per esempio imposto come picture la prima immagine allegata(la parte bianca è quella trasparente) , quando eseguo il form appare come nella seconda immagine.
Ti confermo che anche io usando la prima immagine ottengo un risultato molto simile alla tua seconda immagine.


...allora ho pensato se si potevano usare le api di qt in un progetto gambas per ovviare a questo problema.


In via astratta utilizzando la funzione Extern.... :-\
« Ultima modifica: 11 Marzo 2013, 17:53:55 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline baldi96

  • Gamberetto
  • *
  • Post: 19
  • zZzZzZzZzZzZzZzZz
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #10 il: 07 Marzo 2013, 20:14:20 »
A ok grazie,ora cercheró di studiarmi le librerie qt4 e vedró se posso arrivare a qualcosa.se ci saranno risultati li posteró sul forum,altrimenti penso di vedere se c'è qualche altra soluzione.
"Disobedience, in the eyes of anyone who has read history, is man's original virtue. It is through disobedience and rebellion that progress has been made."
-- Oscar Wilde, The Soul of Man Under Socialism

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Trasparenza Form Qt
« Risposta #11 il: 07 Marzo 2013, 20:16:06 »
se ci saranno risultati li posteró sul forum,altrimenti penso di vedere se c'è qualche altra soluzione.

Muuuy bien !   :)
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »