QT 读取csv文件
废话不多说先上代码,
需要引入的头文件:
函数是自己写的一个小项目截取的一段,基本上思路就是这个.读取csv格式的和读取txt文件类似.
#include <QFile>
#include <QMessageBox>
#include <QDateTime>
void InputData::ReadInputData(QString strPath)
{
QVector<QStringList> _studentData;
QFile file(strPath); //打开文件
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
//弹警告窗
QMessageBox::warning(NULL, "warning", "open file fail!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
}
// 文本流模式读取文件
QTextStream in(&file);
while (!in.atEnd())
{
//读取csv文件的一行
QString strline = in.readLine();
if (strline.isEmpty())
{
continue;
}
//文件 用逗号隔开并保存到文件中 QStringList这个其实就是list Qstring
QStringList _lst = strline.split(",");
_studentData.append(_lst);
}
}
QT根据显示器大小设置窗口大小
QRect screenRect = QGuiApplication::primaryScreen()->geometry();
windowWidth = screenRect.width();
windowHeight = screenRect.height();
this->setGeometry(0, 0, windowWidth, windowHeight);
需要的头文件
#include?<QScreen>
this->setGeometry(0,?0,?windowWidth,?windowHeight);这个函数就是设置显示大小的,四个参数是设置对角线坐标的.
QT绑定信号与槽
connect(this, &MainWindow::InputDataFunc, pInputData.get(), &InputData::ImplementInputData);
connect(pInputData.get(), &InputData::UpdateCombox, this, &MainWindow::UpdataComBox);
connect(ui->nameComBox, &QComboBox::currentIndexChanged, this, &MainWindow::on_comboBox_currentIndexChanged);
信号与槽绑定的格式:
connect(实例类的指针,&类名::信号函数,实例类的指针,&类名::信号函数);
一般信号与槽函数绑定最好是软件初始化的时候就绑定.
以一个绑定为例:
connect(this,?&MainWindow::InputDataFunc,?pInputData.get(),?&InputData::ImplementInputData);
this是connect在MainWindow类中定义的所以使用this指针,pInputData.get()这个是因为我使用的是C++11的智能指针
std::shared_ptr<InputData>?pInputData = std::make_shared<InputData>();
所以pInputData.get()去原始指针.
|