最近简单学了一下C++,所以想用这个来做一点东西练一下手。思来想去,直接从GUI上手吧,感觉这样更有成就感。
首先强调一下,当前我的所有开发是在linux环境下进行的。还请关注。
倒叙来吧,先看看实现效果:
这实现的是:
一个窗口里面添加一个ListView,给ListView绑定数据。
为了更方便入门,直接贴上程序(此逻辑来自网络,仅作为调试内容用,原作者程序存在一点问题,我给修改了一下,现在的程序直接运行也是没问题的。原作者如果看到的话还请海涵。多谢!):
#include "mainwindow.h"
#include <QApplication>
#include <QListWidget>
#include <QWidget>
#include <QVBoxLayout>
#include <QTextStream>
#include <QFile>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//MainWindow w;
//w.show();
QWidget* widget = new QWidget;
QListWidget* listWidget = new QListWidget;
QVBoxLayout* layout = new QVBoxLayout;
QStringList readData;
QStringList dateList;
//创建一个data列表
dateList<<"Tong Het Tianh"
<<"Tong Huangt Miaoh"
<<"Shin Tirh"
<<"Shi Yangt Tirh"
<<"Yangt Cengt"
<<"Ko Lout"
<<"Kao Yangt Tirh"
<<"Seut Zeuh Luh"
<<dateList;
//创建一个文件
QFile file_w("/home/zhangkai/xmltest/data.txt");
if(!file_w.open(QIODevice::Append | QIODevice::Text))
{
qDebug("fail");
}
QTextStream tt(&file_w);
for(int i=1;i<10;i++)
{
//将data列表写入到本地
QString qstring = dateList.value(i);
tt<<qstring<<endl;
}
file_w.close();
//从本地读文件,
QFile file_r("/home/zhangkai/xmltest/data.txt");
if (!file_r.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug("fail");
}
//遍历文件内容,添加到ListView
while (!file_r.atEnd())
{
QByteArray line = file_r.readLine();
readData.clear();
readData=QString(line).split("&");
if(readData.size()==1)
{
QString tmp =readData.at(0);
if (tmp == "\n")
{
continue;//防止列表中出现空格
}
listWidget->addItem(QString("%1").arg(tmp));
}
}
file_r.close();
layout->addWidget(listWidget);
widget->setLayout(layout);
widget->show();
return a.exec();
}
打开Qt软件,复制上面代码覆盖main.cpp文件,然后跟AndroidStudio一样先设置断点:
然后按照如下图顺序操作:
点击绿色按钮,开始断点调试,此部分按钮会更新成如下:
然后,如果熟悉AndroidStudio,之后的流程就一样了!
我不喜欢用快捷键,因为有as,有eclipse,有vs,还有Qt我总是记错。所以直接点击软件上的按钮挺好的!