Hi Eric,<br><br>Thanks for the tip, I've managed to get my button inside my tableview.<br><br>There is only one thing that bothers me, not sure if it is a limitation or something I can fix.<br><br>To be able to press a button, I need to "activate" the containing cell with a click. <br>

Once the cell is active I can press the button. This could become confusing for your average user.<br><br>Is this fixable?<br><br>Best,<br>Cris<br><br><br><br><br><div class="gmail_quote">On 6 November 2012 22:05,  <span dir="ltr"><<a href="mailto:Erik.Janssens@conceptive.be" target="_blank">Erik.Janssens@conceptive.be</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>
<div style="font-family:'Sans Serif';font-size:9pt;font-weight:400;font-style:normal">
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">The delegate itself can only paint, it cannot react to</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">clicks, you should implement the createEditor method,</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">the editor then reacts to clicks</p><div><div class="h5">
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> </p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px">On Tuesday, November 06, 2012 09:59:03 PM Cristobal Infante wrote:<br> </p>
<p style="margin-top:12px;margin-bottom:12px;margin-left:40px;margin-right:40px;text-indent:0px">Hi,</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px">I<span style="font-size:14px;font-family:'Arial,Liberation Sans,DejaVu Sans,sans-serif'"> am trying to embed a button per row inside a tableview. My botton are drawing correctly as delegates but are not reacting to any clicks.</span> </p>


<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><span style="font-size:14px;font-family:'Arial,Liberation Sans,DejaVu Sans,sans-serif'"><br></span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><span style="font-size:14px;font-family:'Arial,Liberation Sans,DejaVu Sans,sans-serif'">Should I be setting flags for this column? so far I have something like:</span><br>

</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><br></p>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px"> if index.column() == 14:</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">        flags |=  QtCore.Qt.ItemIsSelectable  | QtCore.Qt.ItemIsUserCheckable | Qt.ItemIsEnabled</span></pre>


<pre style="margin-top:0px;margin-bottom:10px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    return flags    </span></pre>


<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px">This is my delegate, but how do I make the button react to clicks?</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px">Thanks,</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px">cris</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><br></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px"><br></p>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">class AButton(QtGui.QStyledItemDelegate):</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">mouse_isPressed = False</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px;background-color:#eeeeee">

<br></pre>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">def __init__(self, parent = None):</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    QtGui.QStyledItemDelegate.__init__(self, parent)</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px;background-color:#eeeeee">

<br></pre>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">def boundingRect(self):</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    return QtCore.QRectF(0, 0, 40, 40)</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px;background-color:#eeeeee">

<br></pre>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">def paint(self, painter, option, widget = 0):</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    opt = QtGui.QStyleOptionButton()</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px;background-color:#eeeeee">

<br></pre>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    opt.state = ((QtGui.QStyle.State_Sunken if self.mouse_isPressed else QtGui.QStyle.State_Raised) | QtGui.QStyle.State_Enabled)</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    opt.text = self.text()</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    opt.icon = self.icon()</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    opt.rect = option.rect</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    opt.palette = option.palette</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    QtGui.QApplication.style().drawControl(QtGui.QStyle.CE_PushButton, opt, painter)</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px;background-color:#eeeeee">

<br></pre>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">def text(self):</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    return QtCore.QString("hi")</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px;background-color:#eeeeee">

<br></pre>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">def icon(self):</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    return QtGui.QIcon()</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px;background-color:#eeeeee">

<br></pre>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">def mousePressEvent(self, event):</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    self.mouse_isPressed = True</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    print "HELLO"</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    self.update()</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px;background-color:#eeeeee">

<br></pre>
<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">def mouseReleaseEvent(self, event):</span></pre>


<pre style="margin-top:0px;margin-bottom:0px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    self.mouse_isPressed = False</span></pre>


<pre style="margin-top:0px;margin-bottom:10px;margin-left:40px;margin-right:40px;text-indent:0px;background-color:#eeeeee"><span style="font-family:'Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif';font-size:14px">    self.update()</span></pre>


<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><br><br></p></div></div></div><br>_______________________________________________<br>
PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>
<a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br></blockquote></div><br>