访问宇宙 2023-03-05 19:55 采纳率: 80.4%
浏览 11
已结题

怎么复写 page1.dataGrid1.ItemsSource = dt.DefaultView;这一语句?

如何用QT或者C++复写下述代码?
怎么复写 page1.dataGrid1.ItemsSource = dt.DefaultView;这一语句?
private void bt_redo_Click(object sender, RoutedEventArgs e)
        {
            //把当前状态放入撤销栈
            DataTable indt = dt.Copy();
            undo_stack.Push(indt);
            //当前dt设置为重做栈栈顶
            dt = redo_stack.Pop();
            //dataGrid源设置为dt
            page1.dataGrid1.ItemsSource = dt.DefaultView;
            //可以撤销,判断可不可以重做
            undo.IsEnabled = true;
            if (redo_stack.Count == 0)
                redo.IsEnabled = false;
        }

```

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-03-05 20:10
    关注

    “Devil组”引证GPT后的撰写:
    QT:

    void MainWindow::bt_redo_Click()
    {
        //把当前状态放入撤销栈
        DataTable indt = dt.Copy();
        undo_stack.push(indt);
        //当前dt设置为重做栈栈顶
        dt = redo_stack.top();
        //dataGrid源设置为dt
        QStandardItemModel *model = new QStandardItemModel(dt.rowCount(), dt.columnCount(), this);
        for (int row = 0; row < dt.rowCount(); ++row) {
            for (int column = 0; column < dt.columnCount(); ++column) {
                QModelIndex index = model->index(row, column, QModelIndex());
                model->setData(index, dt(row, column));
            }
        }
        page1.dataGrid1->setModel(model);
        //可以撤销,判断可不可以重做
        undo->setEnabled(true);
        if (redo_stack.empty())
            redo->setEnabled(false);
    }
    
    
    

    c++

    
    void MainWindow::bt_redo_Click(object sender, RoutedEventArgs e)
    {
        // 把当前状态放入撤销栈
        QStack<DataTable> undoStack;
        DataTable indt = dt.Copy();
        undoStack.push(indt);
        // 当前dt设置为重做栈栈顶
        dt = redo_stack.top();
        redo_stack.pop();
        // dataGrid源设置为dt
        page1->dataGrid1->setModel(dt.DefaultView);
        // 可以撤销,判断可不可以重做
        undo->setEnabled(true);
        if (redo_stack.isEmpty())
            redo->setEnabled(false);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月5日