diff options
Diffstat (limited to 'python/pykde/doc/signal.html')
-rw-r--r-- | python/pykde/doc/signal.html | 290 |
1 files changed, 0 insertions, 290 deletions
diff --git a/python/pykde/doc/signal.html b/python/pykde/doc/signal.html deleted file mode 100644 index b95ed7f6..00000000 --- a/python/pykde/doc/signal.html +++ /dev/null @@ -1,290 +0,0 @@ -<HTML -><HEAD -><TITLE ->Signal and Slot Support</TITLE -><META -NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK -REL="HOME" -TITLE="Python Bindings for KDE (PyKDE-3.16.0)" -HREF="index.html"><LINK -REL="PREVIOUS" -TITLE="General Limitations" -HREF="limits.html"><LINK -REL="NEXT" -TITLE="Static Member Functions" -HREF="static.html"></HEAD -><BODY -CLASS="SECT1" -><DIV -CLASS="NAVHEADER" -><TABLE -SUMMARY="Header navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TH -COLSPAN="3" -ALIGN="center" ->Python Bindings for KDE (PyKDE-3.16.0)</TH -></TR -><TR -><TD -WIDTH="10%" -ALIGN="left" -VALIGN="bottom" -><A -HREF="limits.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="80%" -ALIGN="center" -VALIGN="bottom" -></TD -><TD -WIDTH="10%" -ALIGN="right" -VALIGN="bottom" -><A -HREF="static.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -></TABLE -><HR -ALIGN="LEFT" -WIDTH="100%"></DIV -><DIV -CLASS="SECT1" -><H1 -CLASS="SECT1" -><A -NAME="AEN81" -></A ->Signal and Slot Support</H1 -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN83" -></A ->General Signals and Slots</H2 -><P ->A signal may be either a Qt signal (specified using -<TT -CLASS="LITERAL" ->TQT_SIGNAL()</TT ->) or a Python signal (specified using -<TT -CLASS="LITERAL" ->PYQT_SIGNAL()</TT ->).</P -><P ->A slot can be either a Python callable object, a Qt signal (specified using -<TT -CLASS="LITERAL" ->TQT_SIGNAL()</TT ->), a Python signal (specified using -<TT -CLASS="LITERAL" ->PYQT_SIGNAL()</TT ->), or a Qt slot (specified using -<TT -CLASS="LITERAL" ->TQT_SLOT()</TT ->).</P -><P ->You connect signals to slots (and other signals) as you would from C++. For -example:</P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD -><PRE -CLASS="PROGRAMLISTING" ->TQObject.connect(a,TQT_SIGNAL("QtSig()"),pyFunction) -TQObject.connect(a,TQT_SIGNAL("QtSig()"),pyClass.pyMethod) -TQObject.connect(a,TQT_SIGNAL("QtSig()"),PYQT_SIGNAL("PySig")) -TQObject.connect(a,TQT_SIGNAL("QtSig()"),TQT_SLOT("QtSlot()")) -TQObject.connect(a,PYQT_SIGNAL("PySig"),pyFunction) -TQObject.connect(a,PYQT_SIGNAL("PySig"),pyClass.pyMethod) -TQObject.connect(a,PYQT_SIGNAL("PySig"),TQT_SIGNAL("QtSig()")) -TQObject.connect(a,PYQT_SIGNAL("PySig"),TQT_SLOT("QtSlot()"))</PRE -></TD -></TR -></TABLE -><P ->When a slot is a Python method that corresponds to a Qt slot then a signal can -be connected to either the Python method or the Qt slot. The following -connections achieve the same effect.</P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD -><PRE -CLASS="PROGRAMLISTING" ->sbar = TQScrollBar() -lcd = TQLCDNumber() - -TQObject.connect(sbar,TQT_SIGNAL("valueChanged(int)"),lcd.display) -TQObject.connect(sbar,TQT_SIGNAL("valueChanged(int)"),lcd,TQT_SLOT("display(int)"))</PRE -></TD -></TR -></TABLE -><P ->The difference is that the second connection is made at the C++ level and is -more efficient.</P -><P ->Disconnecting signals works in exactly the same way.</P -><P ->Any instance of a class that is derived from the <TT -CLASS="LITERAL" ->TQObject</TT -> -class can emit a signal using the <TT -CLASS="LITERAL" ->emit</TT -> method. This takes -two arguments. The first is the Python or Qt signal, the second is a Python -tuple which are the arguments to the signal. For example:</P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD -><PRE -CLASS="PROGRAMLISTING" ->a.emit(TQT_SIGNAL("clicked()"),()) -a.emit(PYQT_SIGNAL("pySig"),("Hello","World"))</PRE -></TD -></TR -></TABLE -><P ->Qt allows a signal to be connected to a slot that requires fewer arguments than -the signal passes. The extra arguments are quietly discarded. Python slots -can be used in the same way.</P -></DIV -><DIV -CLASS="SECT2" -><H2 -CLASS="SECT2" -><A -NAME="AEN103" -></A ->Slots in Menus, Toolbars and Actions</H2 -><P ->The C++ declarations for menu items or KActions are similar to these examples:</P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD -><PRE -CLASS="PROGRAMLISTING" ->int TQMenuData::insertItem (const TQString & text, - const TQObject * receiver, const char * member, - int accel = 0, int id = -1, int index = -1 ) - -KAction ( const TQString& text, int accel, - const TQObject* receiver, const char* slot, - TQObject* parent, const char* name = 0 )</PRE -></TD -></TR -></TABLE -><P ->Notice the "const TQObject* receiver, const char* slot" parameters for each declaration.</P -><P ->In PyKDE, these two parameters are replaced with a SINGLE parameter that specifies the -slot to be connected to the menu item, toolbar button or KAction:</P -><TABLE -BORDER="0" -BGCOLOR="#E0E0E0" -WIDTH="100%" -><TR -><TD -><PRE -CLASS="PROGRAMLISTING" ->p = insertItem ("Open", self.slotOpen, 0, -1, -1) - -action = KAction ("Open", 0, self.slotOpen, None, 0)</PRE -></TD -></TR -></TABLE -><P ->This substitution applies to appropriate methods in KStdAction, KAction and related -subclasses, KAccelMenu and KToolBar</P -></DIV -></DIV -><DIV -CLASS="NAVFOOTER" -><HR -ALIGN="LEFT" -WIDTH="100%"><TABLE -SUMMARY="Footer navigation table" -WIDTH="100%" -BORDER="0" -CELLPADDING="0" -CELLSPACING="0" -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" -><A -HREF="limits.html" -ACCESSKEY="P" ->Prev</A -></TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -><A -HREF="index.html" -ACCESSKEY="H" ->Home</A -></TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" -><A -HREF="static.html" -ACCESSKEY="N" ->Next</A -></TD -></TR -><TR -><TD -WIDTH="33%" -ALIGN="left" -VALIGN="top" ->General Limitations</TD -><TD -WIDTH="34%" -ALIGN="center" -VALIGN="top" -> </TD -><TD -WIDTH="33%" -ALIGN="right" -VALIGN="top" ->Static Member Functions</TD -></TR -></TABLE -></DIV -></BODY -></HTML ->
\ No newline at end of file |