With the fyne GUI framework it's easy to build simple guis with basic functionality. I was unable to find a way to detect the user pushing and holding a button for some time. I can only detect wether the button was clicked. Is it at all possible?
Related Questions in GO
- Go Fiber and HTMX - HX-Trigger header is changed to Hx-Trigger, which is not what HTMX is listening for
- Golang == Error: OCI runtime create failed: unable to start container process: exec: "./bin": stat ./bin: no such file or directory: unknown
- Handling both JSON and form values in POST request body with unknown values in Golang
- invalid transaction: Transaction failed to sanitize accounts offsets correctly
- Golang lambda upload image into s3 static website
- Is there a way to get a list of selected module versions, but only for modules within the pruned graph?
- Save Interface in DB golang
- ERROR: column "country" is of type text[] but expression is of type record (SQLSTATE 42804)
- Trying to update the version.go file with the release tag from GitHub actions but its failing
- How can I optimize this transposition table for connect 4 AI?
- const declaration - How to evaluate expressions at compile time?
- How add array of authors for unique user in database in Goland IDE?
- Why is the main goroutine not blocked after write in unbuffered channel?
- Insert & Retrieve from a channel in same main function throws "goroutine 1 [chan receive]: main.main() /path exit status 2" error
- Gob error when decoding array of structs: decoding into local type but received remote type
Related Questions in USER-INTERFACE
- OS-wide text autocomplete service with popup
- Bootstrap 5 tooltips not working in Laravel 9.x application
- GUI window is not appearing
- Responsive gui customtkinter
- Unwanted text on created icon
- Custom styled "Add to cart" button in WooCommerce product archive pages
- Page behavior in flet works when used directly in `main`, but not in a UserControl?
- How could I reuse the CTk tabviews in python GUI app?
- mouse coordinates in image go below 0 and above width
- Use the same button in different interfaces (JAVA)
- Distributing a GTK4 Windows application
- How to design the file operation interface involving status and transactions?
- Creating a GUI application for creating graphs
- How point to other link after login
- How to align widget to another widget in Flutter
Related Questions in FYNE
- fyne: setting dialog width larger than minsize
- fyne custom widget not refreshed
- Golang/Fyne: (Re-)size How to detect
- golang fyne dialog doesn't update on user choice
- How do I package with fyne for macOS? -clang argument unused error
- How do I package a fyne app? file does not exist error
- How to hide window buttons and tittle bar in Golang Fyne
- How to change the background color in fyne golang GUI?
- Finding downloads folder programmatically (Go)
- Fyne get listableURI
- Golang Fyne: change button (font) size
- Tapped method of custom widget.PopUp doesn't work
- Change the padding between items within list for Fyne
- Go + Fyne Framework: Facing Package Issue, Seeking Assistance
- I have problems with Android NDK, errors are below
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Widgets in fyne come with their most likely used functionality. When a widget does not offer a functionality, that is needed, it can be extended. An example where an icon is made clickable can be seen here. In this example the interface fyne/v2.Tappable is being implemented, which also contains an icon, which leads to a clickable icon.
To make a button holdable we need to implement an interface, which can register mousedown and mouseup events. This interface is fyne/v2/driver/desktop.Mouseable.
So this is what this can look like:
Important to note: The Mouseable interface does not appear by name and the driver package only needs to be imported to reference the desktop.MouseEvent. But as is the case in golang the interface is implemented by creating the two methods MouseUp and MouseDown and both need to exist even if you only "need" one, otherwise none of this will work.
Thank you to andy.xyz who pointed me in the right direction.