gpt4 book ai didi

c++ - 如何打印 QStringListModel 内容?

转载 作者:行者123 更新时间:2023-11-28 01:56:32 24 4
gpt4 key购买 nike

我需要在 'void MainWindow::on_pbImprime_clicked()' 中将 QStringListModel 的内容打印到打印机,它可以毫无问题地打印任何 Qstring,但我不知道如何将 QStringListModel 的数据放入我的 QString文本,有人有想法吗?

这是我的代码:

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

model = new QStringListModel(this);

ui->lbItens->setModel(model);

ui->lbItens->setEditTriggers(QAbstractItemView::AnyKeyPressed |
QAbstractItemView::DoubleClicked);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_pbAdd_clicked()
{
int row = model->rowCount();

model->insertRows(row,1);

QModelIndex index = model->index(row);

ui->lbItens->setCurrentIndex(index);
ui->lbItens->edit(index);
}

void MainWindow::on_pbRemove_clicked()
{
model->removeRows(ui->lbItens->currentIndex().row(),1);
}

void MainWindow::on_pbImprime_clicked()
{
QPrinter printer;

QPainter p(&printer);
int x_pos = 20;
int y_pos = 20;

int row = model->rowCount();
int i;

for(i=0; i<row; i++){
QString text = ;
p.drawText(x_pos, y_pos, text);
y_pos += p.fontMetrics().height();
}
}

抱歉我的英语不好,感谢您的帮助。

最佳答案

您可以从您的模型中获取QStringList:

QStringList list = model->stringList();

使用 join()QStringList 获取您的 QString:

QString str = list.join(" ");

join您可以选择您需要的分隔符。

关于c++ - 如何打印 QStringListModel 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41001563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com