Maison  >  Article  >  développement back-end  >  Afficher/déplacer la fenêtre principale à une position personnalisée

Afficher/déplacer la fenêtre principale à une position personnalisée

王林
王林avant
2024-02-08 22:40:27464parcourir

Afficher/déplacer la fenêtre principale à une position personnalisée

l'éditeur php Xigua vous présentera comment afficher ou déplacer la fenêtre principale dans une position personnalisée dans cet article. Lors du développement d'applications Web, nous devons parfois placer la fenêtre principale à un emplacement spécifique ou la déplacer vers un nouvel emplacement après l'action de l'utilisateur. Cela offre une meilleure expérience utilisateur et augmente la convivialité de l'application. Ci-dessous, nous aborderons plusieurs façons d'implémenter cette fonctionnalité pour aider les développeurs à mieux maîtriser cette technique.

Contenu de la question

Question

Je ne trouve pas la fonction permettant de définir la position de la fenêtre. J'ai regardé le code et j'ai vu le type setpos 函数,并想知道为什么没有为 fyne.window pour différents éléments en l'ajoutant.

func main() {
    a := app.new()
    w := a.newwindow("trying to position window")

    if drv, ok := fyne.currentapp().driver().(desktop.driver); ok {
        w = drv.createsplashwindow()
        // something like this?
        // w.setpos(x, y)  
        // w.move(x, y)    
    }

Solution

J'ai forké le projet et créé func :

func (w *window) glfwindow() *glfw.window {
    return w.view()
}  

Exposer les propriétés de la fenêtre sous-jacente non exportées w.viewport. Cela a débloqué tellement de méthodes que je peux maintenant utiliser

if ww := w.GLFWindow(); ww != nil {
    ww.SetPos(x, y)
}

On dirait que je vais l'utiliser (une version forkée/éditée), mais peut-être pouvez-vous suggérer une fyne-way pour le faire :)

Question

Existe-t-il un moyen existant de définir la position d'une fenêtre ? Ou accéder aux propriétés w.viewport sous-jacentes ?

Solution de contournement

Cela n'est pas possible avec les API exportées car de nombreux systèmes d'exploitation ne les prennent pas en charge. Pour une discussion sur le processus décisionnel, veuillez visiter https://github.com/fyne-io/fyne/issues/1155

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer