具体代码如下:
main.cpp
#include <QApplication>
#include "mainwindow.h"
int main(int argc, char * argv[])
{
QApplication app(argc, argv);
MainWindow * mainWindow = new MainWindow;
mainWindow->resize(645, 570);
mainWindow->show();
return app.exec();
}
mainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui>
#include "imagewidget.h"
#include "thread.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
private:
QScrollArea * mainDisplay;
ImageWidget * imageWidget;
QMenu * fileMenu;
QToolBar * toolBar;
QPushButton * capturebutton;
QPushButton * refreshbutton;
};
#endif
mainWindow.cpp
#include <QtGui>
#include <QTime>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <memory.h>
#include <fcntl.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <memory.h>
#include <unistd.h>
#include <arpa/inet.h>
#include "mainwindow.h"
#include "connectdialog.h"
#include "thread.h"
MainWindow::MainWindow()
{
vlayout =new Vlayout; //布局管理忘了具体怎么写了。。。
mainlayout=new Hlayout;
imageWidget = new ImageWidget;
mainDisplay = new QScrollArea;
mainDisplay->setBackgroundRole(QPalette::Dark);
imageWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
mainDisplay->setWidget(imageWidget);
mainDisplay->widget()->setMinimumSize(640, 480);
setCentralWidget(mainDisplay);
createAction();
createMenu();
createToolBar();
createStatusBar();
createButton();
imageWidget->setPixmap("./images/start.png");
setWindowTitle(tr("camera client"));
setWindowIcon(QIcon("./images/camera.png"));
setFocusPolicy(Qt::StrongFocus);
connect(paintThread, SIGNAL(dataReady()), this, SLOT(paint()));
}
void MainWindow::createButton()
{
capturebutton = new QPushButton(tr("Capture"),this);
refreshbutton = new QPushButton(tr("Refresh"),this);
vlayout->addwidget(capturebutton);
vlayout->addwidget(refreshbutton );
mainlayout->addlayout(vlayout);
}