1. mjpeg-streamer服务器的搭建
- 在树莓派上搭建好mjpeg-streamer的服务器,搭建过程可以参考这篇文章mjpg-streamer在树莓派上的使用
2. 简单QT界面的设计
- QT的界面布局主要参考了这篇文章,但是我的里面是使用单独开辟的线程进行解析数据流的,这个文章里面是在主线程中完成的。QT界面设计.
3. 使用线程获取网络图片
- 使用线程会遇到很多的问题,可以参考这篇文章QT 多线程采用线程池进行网络操作
4. 源码
1. 主函数
#include "loginwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
LoginWindow w;
w.setWindowFlags(Qt::FramelessWindowHint);
w.show();
return a.exec();
}
2. 登录窗口界面代码
1. loginwindow.h
#ifndef LOGINWINDOW_H
#define LOGINWINDOW_H
#include <QMainWindow>
#include <QTcpSocket>
#include <QTimer>
#include "mainwindow.h"
QT_BEGIN_NAMESPACE
namespace Ui { class LoginWindow; }
QT_END_NAMESPACE
class LoginWindow : public QMainWindow
{
Q_OBJECT
public:
LoginWindow(QWidget *parent = nullptr);
~LoginWindow();
private slots:
void timerFinish();
void on_btn_login_clicked();
void on_btn_logout_clicked();
private:
Ui::LoginWindow *ui;
QString login_ipAddr;
QString login_port;
int waitCnt;
QTimer *time;
QString text;
QTcpSocket *tcpClient;
MainWindow *main;
void init();
};
#endif // LOGINWINDOW_H
2. loginwindow.c