无法以编程方式在QTablewidget中选择一行

时间:2018-05-03 14:02:51

标签: c++ qt

我想在QTableweidget中选择一行(不是手动)。 我尝试过以下方法:

sendMoney: function() {
    // console.log(nameInput.value);       
    var practiceInstance;
    App.contracts.Practice.deployed().then(function (instance) {
        practiceInstance = instance;
        return practiceInstance.makePayment().send ({            
            from: web3.eth.accounts[1],
            value: web3.utils.toWei(nameInput.value, 'ether')
        });
    }).catch(function (err) {
        console.log(err.message);
    });
},

但我仍然看不到它选择/突出显示第二行。 我不确定我是否遗漏了什么。

提前致谢!

2 个答案:

答案 0 :(得分:1)

我自己也遇到了同样的问题。也就是说,table-> selectRow(rownum)无效。

对我来说,问题是通过在.ui文件中执行以下操作解决的:

        <property name="selectionBehavior">
         <enum>QAbstractItemView::SelectRows</enum>
        </property>

因此,我认为table-> setSelectionBehavior(QAbstractItemView :: SelectRows)将具有相同的效果。

答案 1 :(得分:0)

尝试使用QAbstractItemView :: SingleSelection。

ui.tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
ui.tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
ui.tableWidget->selectRow(2);

你也可以试试这个:

ui.tableWidget->setCurrentIndex(ui.tableWidget->model()->index(2, 0));