原创

Qt工作笔记-在ListWidget中单线程检索数据

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq78442761/article/details/79809956

文件读取技术在此链接中:

https://blog.csdn.net/qq78442761/article/details/79807826


运行截图如下:





代码如下:

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>
#include <QIODevice>
#include <QFile>
#include <QColor>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public slots:
    void pressBtn();
    void pressBtn2();

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private:
    Ui::Widget *ui;
};


widget.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(pressBtn()));
    connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(pressBtn2()));
}

void Widget::pressBtn2(){
    QString str="1111111111";
    for(int i=0;i<ui->label_2->text().toInt();i++){
        if(ui->listWidget->item(i)->text()==str)
            ui->listWidget->item(i)->setTextColor(0xff0000);
    }
}

void Widget::pressBtn(){
    QFile file("d:/data.data");
    if(!file.open(QIODevice::ReadOnly|QIODevice::Text)){
        qDebug()<<"打开失败!";
    }
    while(!file.atEnd()){
        QByteArray line=file.readLine();
        QString str(line);
        str.remove("\n");
        ui->listWidget->addItem(str);
    }
    ui->label_2->setText(QString::number(ui->listWidget->count()));
}

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


main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

文章最后发布于: 2018-04-03 22:13:55
展开阅读全文
0 个人打赏

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览