Comments (2)
Hey
Here is some code that should work.
It intercepts the events that are send to the textEdit
, so you can inspect them with the filterObject
.
And here are some general infos about event filters.
Also you need to you run the [YOUR_PROJECT]/deploy/linux/[YOUR_PROJECT].sh
file after you ran qtdeploy build/test desktop YOUR_PROJECT
, otherwise you won't see anything in the terminal/shell.
Maybe you should also take a look at these examples and the qt docs.
Feel free to ask, if you run into any problems :)
package main
import (
"os"
"github.com/therecipe/qt/core"
"github.com/therecipe/qt/gui"
"github.com/therecipe/qt/widgets"
)
func main() {
widgets.NewQApplication(len(os.Args), os.Args)
var filterObject = core.NewQObject(nil)
filterObject.ConnectEventFilter(func(watched *core.QObject, event *core.QEvent) bool {
if event.Type() == core.QEvent__KeyPress {
var keyEvent = gui.NewQKeyEventFromPointer(event.Pointer()) //like static_cast
//var textEdit = widgets.NewQPlainTextEditFromPointer(watched.Pointer())
if keyEvent.Key() == int(core.Qt__Key_Tab) {
println("filterObject:", "special tab handling")
return true
}
println("filterObject:", keyEvent.Text())
return false
}
return false
})
var textEdit = widgets.NewQPlainTextEdit(nil)
textEdit.InstallEventFilter(filterObject)
textEdit.ConnectKeyPressEvent(func(event *gui.QKeyEvent) {
println("textEdit:", event.Text())
//do something here
textEdit.KeyPressEventDefault(event) //call default implementation (always suffixed with *Default)
})
textEdit.Show()
widgets.QApplication_Exec()
}
from qt.
Yes, the eventfilter code above has been tested to work fine. thanks for the help and documentation
from qt.
Related Issues (20)
- deploying linux to windows build fail with newqwebengineview. thanks for your help HOT 4
- Is alive? HOT 1
- Issue with using *QFileDialog.SelectedFiles(), "interface conversion: interface {} is []interface {}, not []string" HOT 1
- /usr/bin/ld: i386 architecture of input file `/tmp/go-link-3590783856/000000.o' is incompatible with i386:x86-64 output HOT 2
- Is there an active fork of this project? HOT 8
- android APK crashes when launched
- Installation fails for Qt 6 HOT 2
- !!! Read before opening a new issue !!!
- qtdeploy may not work with Go1.20 HOT 1
- go: warning: "github.com/therecipe/qt/cmd/..." matched no packages HOT 1
- menu.Actions() panics
- How to add a property sheet file to Qt
- How can I deploy a program to an arm development board and don't see a good way
- Intermittent Qtdeploy Failures HOT 1
- Gave up - Docs need some work for new people HOT 1
- is this project still maintains, what's the latest qt version does it support HOT 2
- qtsetup fails
- qtsetup error in freebsd 14.1 HOT 1
- New and working linux_static deployment dockerfile
- gui.NewQPixmap3() have a requestion?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qt.