如何让我的数据显示在下面创建的窗口中。这是一个控制台应用程序,一切正常。我只是希望输出在创建的窗口而不是控制台。
#include <QApplication>
#include <QLabel>
#include <QString>
#include "Prob3TableInherited.h"
int main(int argc, char *argv[]) {
cout << "Entering problem number 3" << endl;
int rows = 5;
int cols = 6;
Prob3TableInherited tab("Problem3.txt", rows, cols);
const int *naugT = tab.getTable();
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
cout << naugT[i*cols + j] << " ";
}
cout << endl;
}
cout << endl;
const int *augT = tab.getAugTable();
for (int i = 0; i <= rows; i++)
{
for (int j = 0; j <= cols; j++)
{
cout << augT[i*(cols + 1) + j] << " ";
}
cout << endl;
}
// How can I pass the data?
QString data("Need To Pass Data Here");
//Create the Window Application
QApplication a(argc, argv);
QLabel *label=new QLabel(data);
//Make it visible
label->show();
return a.exec();
}
答案 0 :(得分:0)
您必须将标签附加到QApplication。 看看这个答案:
答案 1 :(得分:0)
我只想让输出在创建的窗口而不是控制台
你可以使用QStringList并将输出附加到它而不是cout。例如,您的第一个循环看起来像
...
QStringList outputList;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
outputList << naugT[i*cols + j] << " ";
}
outputList << "\n";
}
outputList << "\n";
...
然后您可以将列表添加到您的标签中,如下所示
QLabel * label = new QLabel(outputList.join(""));
与
相同QString data = outputList.join("");
QLabel * label = new QLabel(data);
答案 2 :(得分:0)
创建一个小部件QWidget *w = new QWidget()
并将标签贴在他身上
QLabel *label = new QLabel(w);
QHBoxLayout *layout = new QHBoxLayout();
label->setText("your data");
layout->addWidget(label);
setLayout(layout);
显示小部件w->show()