python - How do i get the row of a widget in a tablewidget in PyQt? -


i have tablewidget comboboxes created pressing button. need row of combobox if interact combobbox changes contents. found this can't understand fully.

#include <qtgui>  class tablewidget : public qtablewidget {   q_object public:   tablewidget()   {     edit = new qlineedit(this);     setcolumncount(5);     setrowcount(5);     setcellwidget(4,1, edit);     connect(edit, signal(textchanged(const qstring)), this, slot(test1(const qstring)));   } public slots: void test1(const qstring &text) {   qwidget *wid = qapplication::focuswidget();   if (wid) {     qmodelindex index = indexat(wid->pos());     qdebug() << index.row();   } }  private:   qlineedit *edit;  };  #include "main.moc"  int main(int argc, char** argv) {   qapplication app(argc, argv);   tablewidget window;   window.show();   return app.exec(); } 

trying write above in python, have this:

current_widget = qapplication.focuswidget() >> <pyqt4.qtgui.qcombobox object @ 0x0226ddb0> 

how use above in indexat function ?

i using qtdesigner.the following table:

    self.tablewidget = qtgui.qtablewidget(dialog)     self.tablewidget.setgeometry(qtcore.qrect(20, 150, 521, 91))     self.tablewidget.setstylesheet(_fromutf8("background-color: rgb(240, 240, 240);"))     self.tablewidget.setframeshape(qtgui.qframe.noframe)     self.tablewidget.setshowgrid(false)     self.tablewidget.setobjectname(_fromutf8("tablewidget"))     self.tablewidget.setcolumncount(3)     self.tablewidget.setrowcount(0)     item = qtgui.qtablewidgetitem()     self.tablewidget.setverticalheaderitem(0, item)     item = qtgui.qtablewidgetitem()     self.tablewidget.setverticalheaderitem(1, item)     item = qtgui.qtablewidgetitem()     self.tablewidget.setverticalheaderitem(2, item)     item = qtgui.qtablewidgetitem()     self.tablewidget.sethorizontalheaderitem(0, item)     item = qtgui.qtablewidgetitem()     self.tablewidget.sethorizontalheaderitem(1, item)     item = qtgui.qtablewidgetitem()     self.tablewidget.sethorizontalheaderitem(2, item)     self.tablewidget.horizontalheader().setvisible(false)     self.tablewidget.horizontalheader().setstretchlastsection(true)     self.tablewidget.verticalheader().setvisible(false)     self.tablewidget.verticalheader().setstretchlastsection(false) 

and how insert combobox widget , insert items in want:

index = self.tablewidget.rowcount() criteria1_combobox = qtgui.qcombobox(self.tablewidget) font = qtgui.qfont() font.setpointsize(10) criteria1_combobox.setfont(font)  combo_ind,i in enumerate(["name", "extension", "size"]):     criteria1_combobox.additem(_fromutf8(""))     criteria1_combobox.setitemtext(combo_ind, qtgui.qapplication.translate("dialog", i, none, qtgui.qapplication.unicodeutf8))      self.tablewidget.setcellwidget(index, 0, criteria1_combobox) 

if have qtablewidgetitem instance, can use row field. see documentation here.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -