<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Segoe UI'; font-size:9pt; font-weight:400; font-style:normal;">Hi<br>
I have a QTableView that is showing some data from a MySQL database and I am trying to use it to add new values to the table.<br>
How can I preload some of the fields with available information like UserName and date rather than asking user to enter it.<br>
I tried to preset in  <br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p> def setModelData(self, editor, model, index):<br>
        if index.column() == WDAY:<br>
            data= "9" #just trying<br>
            model.setData(index, QVariant(data))<br>
        else:<br>
            QSqlRelationalDelegate.setModelData(self, editor, model,<br>
                                                index)<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>but unless user clickes on the cell the data is not filled in.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Or can I use (From Qt Assistant)<br>
-----------------------------------------------------<br>
<a name="setData"></a><span style=" font-size:large; font-weight:600; color:#000000;">b</span><span style=" font-size:large; font-weight:600; color:#000000;">ool QSqlRelationalTableModel::setData ( const </span><a href="qmodelindex.html"><span style=" font-size:large; font-weight:600; text-decoration: underline; color:#004faf;">QModelIndex</span></a><span style=" font-size:large; font-weight:600; color:#000000;"> &amp; </span><span style=" font-size:large; font-weight:600; font-style:italic; color:#000000;">index</span><span style=" font-size:large; font-weight:600; color:#000000;">, const </span><a href="qvariant.html"><span style=" font-size:large; font-weight:600; text-decoration: underline; color:#004faf;">QVariant</span></a><span style=" font-size:large; font-weight:600; color:#000000;"> &amp; </span><span style=" font-size:large; font-weight:600; font-style:italic; color:#000000;">value</span><span style=" font-size:large; font-weight:600; color:#000000;">, int </span><span style=" font-size:large; font-weight:600; font-style:italic; color:#000000;">role</span><span style=" font-size:large; font-weight:600; color:#000000;"> = Qt::EditRole ) </span><br>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; color:#000000;">Sets the data for the <span style=" font-style:italic;">role</span> in the item with the specified <span style=" font-style:italic;">index</span> to the <span style=" font-style:italic;">value</span> given. Depending on the edit strategy, the value might be applied to the database at once, or it may be cached in the model.</p><p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; color:#000000;">Returns true if the value could be set, or false on error (for example, if <span style=" font-style:italic;">index</span> is out of bounds).</p><p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; color:#000000;">For relational columns, <span style=" font-style:italic;">value</span> must be the index, not the display value.</p><p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; color:#000000;">----------------------------------------------------------</p><p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; color:#000000;">I tried to use this method and could not make it to work </p><p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; color:#000000;">----</p> if index.column() == WDAY:<br>
            date = self.calenderDay.selectedDate()<br>
            data =  date.day()<br>
            if (self.hourModel.setData(index ,Qvariant(data) , Qt.DisplayRole)):<br>
                print "Error setData %s" % (hourModel.lastError()).text()<br>
----<br>
I just Picked up the Rapid GUI Programming With PyQt a few week back and am certainly a Newbee at Python.<br /><br>
Regards,<br>
<span style=" font-weight:600;">Anil K Thankappan</span><br>
<a href="mailto:anilet@gmail.com"><span style=" text-decoration: underline; color:#6aa300;">anilet@</span></a><span style=" color:#996666;">gmail.com</span><br>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; color:#996666;">Visit our website :<a href="http://gallery.phoenixitsolutions.com.au"><span style=" text-decoration: underline; color:#6aa300;">gallery.phoenixitsolutions.com.au</span></a> </p></body></html>