php-Editor Xigua stellt Ihnen in diesem Artikel vor, wie Sie das Hauptfenster anzeigen oder an eine benutzerdefinierte Position verschieben können. Bei der Entwicklung von Webanwendungen müssen wir manchmal das Hauptfenster an einer bestimmten Stelle platzieren oder es nach einer Benutzeraktion an eine neue Stelle verschieben. Dies sorgt für ein besseres Benutzererlebnis und erhöht die Benutzerfreundlichkeit der Anwendung. Im Folgenden besprechen wir verschiedene Möglichkeiten zur Implementierung dieser Funktionalität, um Entwicklern dabei zu helfen, diese Technik besser zu beherrschen.
Ich kann die Funktion zum Festlegen der Fensterposition nicht finden. Ich habe mir den Code angesehen und den Typ setpos
函数,并想知道为什么没有为 fyne.window
für verschiedene Elemente gesehen, die ihn hinzugefügt haben.
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) }
Ich habe das Projekt geforkt und func erstellt:
func (w *window) glfwindow() *glfw.window { return w.view() }
Machen Sie nicht exportierte zugrunde liegende Fenstereigenschaften verfügbar w.viewport
. Es hat so viele Methoden freigeschaltet, die ich jetzt verwenden kann
if ww := w.GLFWindow(); ww != nil { ww.SetPos(x, y) }
Sieht so aus, als würde ich es verwenden (eine gespaltene/bearbeitete Version), aber vielleicht können Sie einen fyne-Weg vorschlagen, es zu tun :)
Gibt es eine Möglichkeit, die Position eines Fensters festzulegen? Oder auf die zugrunde liegenden w.viewport
Eigenschaften zugreifen?
Dies ist mit exportierten APIs nicht möglich, da viele Betriebssysteme dies nicht unterstützen. Für eine Diskussion des Entscheidungsprozesses besuchen Sie bitte https://github.com/fyne-io/fyne/issues/1155
Das obige ist der detaillierte Inhalt vonHauptfenster an benutzerdefinierter Position anzeigen/verschieben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!