Hi,

You could consider using setIndexWidget() on the TableView. But some care should be taken if you also use a QSortFilterProxyModel for filtering your data.

Best,

Mads

On 01/30/2013 11:32 AM, Cristobal Infante wrote:
Hi,

Sorry to bump this thread again.

I am almost done with my PYQT application but I still have this glitch on my button delegate..

Are there any alternatives to using buttons delegate in tableviews?

But I need a button per row...

Best,
Cris

On 8 November 2012 21:53, Cristobal Infante <cgc...@gmail.com <mailto:cgc...@gmail.com>> wrote:

    Hi Erik,

    Thanks again for your reply, It's good to know that at least I am
    making some progress
    with PyQt and have arrived to a dead end ;)

    To be honest I am fine with it, will just have to explain my users
    they will have to
    activate the cell before clicking.

    The important thing was to have my button clicking and that has
    been achieved.

    Thanks!
    Cris


    On 8 November 2012 17:09, Erik Janssens
    <erik.janss...@conceptive.be <mailto:erik.janss...@conceptive.be>>
    wrote:

        Hi Chris,

        I'm not sure if this can be fixed, maybe you can ask this

        on the Qt info mailing list. If it can be fixed, I'm interested

        in the solution ;)

        What happens is, when the TableWidget receives a click, it

        creates an editor, but the editor has not yet received the

        click. That is perfect in most cases, but in case you draw

        a button it isn't.

        Cheers,

        Erik

        On Wednesday, November 07, 2012 02:50:17 PM Cristobal Infante
        wrote:

        Hi Eric,

        Thanks for the tip, I've managed to get my button inside my
        tableview.

        There is only one thing that bothers me, not sure if it is a
        limitation or something I can fix.

        To be able to press a button, I need to "activate" the
        containing cell with a click.
        Once the cell is active I can press the button. This could
        become confusing for your average user.

        Is this fixable?

        Best,
        Cris




        On 6 November 2012 22:05, <erik.janss...@conceptive.be
        <mailto:erik.janss...@conceptive.be>> wrote:

        The delegate itself can only paint, it cannot react to

        clicks, you should implement the createEditor method,

        the editor then reacts to clicks

        On Tuesday, November 06, 2012 09:59:03 PM Cristobal Infante wrote:

        Hi,


        I 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.


        Should I be setting flags for this column? so far I have
        something like:


if index.column() == 14: flags |= QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsUserCheckable | Qt.ItemIsEnabled return flags


        This is my delegate, but how do I make the button react to clicks?


        Thanks,

        cris




class AButton(QtGui.QStyledItemDelegate): mouse_isPressed = False




def __init__(self, parent = None): QtGui.QStyledItemDelegate.__init__(self, parent)




def boundingRect(self): return QtCore.QRectF(0, 0, 40, 40)




def paint(self, painter, option, widget = 0): opt = QtGui.QStyleOptionButton()




opt.state = ((QtGui.QStyle.State_Sunken if self.mouse_isPressed else QtGui.QStyle.State_Raised) | QtGui.QStyle.State_Enabled) opt.text = self.text() opt.icon = self.icon() opt.rect = option.rect opt.palette = option.palette QtGui.QApplication.style().drawControl(QtGui.QStyle.CE_PushButton, opt, painter)




def text(self): return QtCore.QString("hi")




def icon(self): return QtGui.QIcon()




def mousePressEvent(self, event): self.mouse_isPressed = True print "HELLO" self.update()




def mouseReleaseEvent(self, event): self.mouse_isPressed = False self.update()



        _______________________________________________
        PyQt mailing list PyQt@riverbankcomputing.com
        <mailto:PyQt@riverbankcomputing.com>
        http://www.riverbankcomputing.com/mailman/listinfo/pyqt





        _______________________________________________
        PyQt mailing list PyQt@riverbankcomputing.com
        <mailto:PyQt@riverbankcomputing.com>
        http://www.riverbankcomputing.com/mailman/listinfo/pyqt





_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


--
+-----------------------------------------------------+
| Mads Ipsen                                          |
+----------------------+------------------------------+
| Gåsebæksvej 7, 4. tv |                              |
| DK-2500 Valby        | phone:          +45-29716388 |
| Denmark              | email:  mads.ip...@gmail.com |
+----------------------+------------------------------+

_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to