Q: В QT C ++, Как сохранить выбранную строку в файле из TableWidget - PullRequest
0 голосов
/ 11 января 2019

Это код для сохранения всех данных из таблицы в файле test.txt. Я хочу, чтобы все выбранные данные были отмечены флажком в файле test.txt. Я попытался здесь добавить все данные таблицы в файл .txt. {

  // Table Widget 
m_pTableWidget = new QTableWidget(this);
m_pTableWidget->setRowCount(3);
m_pTableWidget->setColumnCount(3);
m_TableHeader<<"A"<<"B"<<"C";
m_pTableWidget->setHorizontalHeaderLabels(m_TableHeader);
     // Insert Data into Table
m_pTableWidget->setItem(0, 1, new QTableWidgetItem("JFX1234567"));
m_pTableWidget->setItem(1, 1, new QTableWidgetItem("JFY1234567"));
      // Add checkBox
QTableWidgetItem *item1 = new QTableWidgetItem("1");
item1->setCheckState(Qt::Checked);
m_pTableWidget->setItem(0, 0, item1);
QTableWidgetItem *item2 = new QTableWidgetItem("2");
item2->setCheckState(Qt::Checked);
m_pTableWidget->setItem(1, 0, item2);

//  Load data in Qstring
QString textData;
int rows = m_pTableWidget->rowCount();
int columns = m_pTableWidget->columnCount();

for (int i = 0; i < rows; i++)
{
    for (int j = 0; j < columns; j++)
    {
        textData += m_pTableWidget->data(m_pTableWidget->setItem(i,j)).toString();
    }
}
QFile txtFile("test.txt");    
if(txtFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) {

QTextStream out(&txtFile);
out << textData;

txtFile.close();

QFile txtFile("test.txt");    

if(txtFile.open(QIODevice::WriteOnly | QIODevice::Truncate))
{
QTextStream out(&txtFile);
out << textData;
txtFile.close();
}

Но я не знаю, почему я не могу сохранить данные в Qstring. У меня много ошибок.

1 Ответ

0 голосов
/ 11 января 2019
if (m_pTableWidget->item(i,j)->checkState() == Qt::Checked){
    textData += m_pTableWidget->item(i,j)->text();
}

QTableWidgetItem * QTableWidget :: item (int row, int column) const
QString QTableWidgetItem :: text () const

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...