One simple solution is to leave the state in Qt.
As of Qt 4.2, in C++ you can use
bool QObject::setProperty(const char * name, const QVariant & value)
QVariant QObject::property(const char * name) const
to set and get properties on any QObject (hence any QWidget).
Since I believe these are (not yet) wrapped in QtHaskell, you can
instead just create a widget that contains the state and just don't add
it to a layout. Parent it to a widget and it will quietly disappear when
its parent dies. If you want it to persist until you say so, don't
parent it to anything (but then you might as well use Haskell for your
state!)
Dan
Michael P Mossey wrote:
I'm trying to learn qtHaskell. I realize few people on this list know anything
about qtHaskell, but I have a question that probably relates to all GUIs as
implemented in Haskell. I just need a hint that could help me figure out the
next step, which I might be able to infer from the qtHaskell API.
I don't think is any tutorial-type or step-by-step type documentation for
qtHaskell. I have sent some questions to the author of qtHaskell, David Harley,
but he hasn't responded yet, and anyway I don't want to trouble him every time I
have a question, so I'm trying to infer as much as I can.
The problem relates to state. In Qt, one adds state to a widget by subclassing
it and adding new member variables. For example, I want to create a widget that
responds to keypresses and remembers what keypresses have taken place.
I'm totally stuck on this part, because Haskell doesn't have state. There must
be some kind of Haskell call that adds state to a widget, but it is hard to
figure out from the qtHaskell examples David provides.
Thanks,
Mike
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe