LineEdit Signal
-
Hi All,
Like a pushbutton, can lineEdit have a signal "clicked"
It seems cursorpositionchanged signal(int, int) similiar to clicked signal but this signal works only once.
Suppose, I have a slot to open another widget like a keypad when this signal is emitted. Now this signal "cursorpositionchanged signal(int, int)" opens keypad only once, if I try to do it again it wont. It works again only if I close the prog. and run it again.Dont have any idea about cursorpositionchanged signal(int old, intnew) signal, how to implement it.
Any suggestions
Thanks
-
You can emit "Clicked" signal from lineEdit. Subclass and implement your own signals.
Similarly, there is no "Clicked" signal for QLabel as well. "Here":http://qt-project.org/wiki/Make-a-QLabel-Clickable is the wiki how to make it.
-
You're welcome.. Please have a look at the "doc":http://qt-project.org/doc/qt-4.8/qlabel.html#note-139 note.
Also notice
bq. To make sure other funcionality still works, you also need to call the base class implementation of the event.
in the doc note.
-
-
The trick is to check the object argument in your event filter implementation.
However, it sounds like you want to have several widgets that all get the 'clicked' signal. How about you just build a re-usable component instead?
Simply subclass QLineEdit, and add your clicked signal. Implement it the way you like (using an event filter if you want, though I don't think you need it) to emit the clicked signal. Now, simply use your own class instead of QLineEdit where appropriate.
-
Do you mean that these line edits should connect to different slots? If so, I stand by my previous advise: actually create your own LineEditWithClickedSignal class (or whatever you want to know it), and use that class instead of QLineEdit. Then, connect the clicked signal to whatever slot you need. Compare how you can connect the clicked signal of different QPushButtons on your form to different slots as well.
-
Yeah I have to connect different Linedit with different slots but signal in each case shall be "click"
Thanks Andre, will follow your advice, this looks much simpler, hope it will be little easy while implementing also.
:)
But still there is 1 more doubt....will it b possible to use my own linedit, when the LineEdit I meant to use is the one from ui_classname.h file?
-
[quote author="pragati" date="1347357263"]But still there is 1 more doubt....will it b possible to use my own linedit, when the LineEdit I meant to use is the one from ui_classname.h file?[/quote]
Yes. Look for widget promotion in the Qt Designer documentation.