Commit 5cc6edbf by xiaoqing.gu

添加新功能:1、添加loading界面 2、点击表头实现排序 3、查看pos更新详情

parent 4277b9a4
...@@ -23,7 +23,9 @@ SOURCES += main.cpp\ ...@@ -23,7 +23,9 @@ SOURCES += main.cpp\
checkboxdelegate.cpp \ checkboxdelegate.cpp \
changedatabasedialog.cpp \ changedatabasedialog.cpp \
combobutton.cpp \ combobutton.cpp \
mythread.cpp mythread.cpp \
loadwidget.cpp \
workthread.cpp
HEADERS += mainwindow.h \ HEADERS += mainwindow.h \
database.h \ database.h \
...@@ -32,12 +34,15 @@ HEADERS += mainwindow.h \ ...@@ -32,12 +34,15 @@ HEADERS += mainwindow.h \
checkboxdelegate.h \ checkboxdelegate.h \
changedatabasedialog.h \ changedatabasedialog.h \
combobutton.h \ combobutton.h \
mythread.h mythread.h \
loadwidget.h \
workthread.h
FORMS += mainwindow.ui \ FORMS += mainwindow.ui \
forkplanwidget.ui \ forkplanwidget.ui \
usingplanwidget.ui \ usingplanwidget.ui \
changedatabasedialog.ui changedatabasedialog.ui \
loadwidget.ui
RESOURCES += \ RESOURCES += \
style.qrc style.qrc
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.5.1, 2017-12-22T09:50:57. --> <!-- Written by QtCreator 3.5.1, 2017-12-26T15:55:20. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.5.1 MinGW 32bit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.5.1 MinGW 32bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.5.1 MinGW 32bit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.5.1 MinGW 32bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.55.win32_mingw492_kit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.55.win32_mingw492_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value> <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
......
#include "loadwidget.h"
#include "ui_loadwidget.h"
#include <QMovie>
#include <QDebug>
LoadWidget::LoadWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::LoadWidget)
{
ui->setupUi(this);
this->setWindowFlags(Qt::FramelessWindowHint);
QMovie *movie = new QMovie(":/new/prefix1/5-121204193R5-50.gif");
ui->label->setMovie(movie);
movie->start();
}
LoadWidget::~LoadWidget()
{
delete ui;
}
//void LoadWidget::onShow()
//{
// this->show();
// emit sendMessage();
//}
#ifndef LOADWIDGET_H
#define LOADWIDGET_H
#include <QWidget>
namespace Ui {
class LoadWidget;
}
class LoadWidget : public QWidget
{
Q_OBJECT
public:
explicit LoadWidget(QWidget *parent = 0);
~LoadWidget();
private:
Ui::LoadWidget *ui;
//signals:
// void sendMessage();
//private slots:
// void onShow();
};
#endif // LOADWIDGET_H
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>LoadWidget</class>
<widget class="QWidget" name="LoadWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>240</width>
<height>260</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true">
border-radius:10px;
</string>
</property>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>95</x>
<y>90</y>
<width>111</width>
<height>101</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>90</x>
<y>50</y>
<width>131</width>
<height>21</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">font: 75 12pt &quot;Agency FB&quot;;
color: rgb(255, 0, 0);</string>
</property>
<property name="text">
<string>请等待…</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
#include <combobutton.h> #include <combobutton.h>
#include <QsLog.h> #include <QsLog.h>
#include <QHeaderView> #include <QHeaderView>
#include "workthread.h"
#include <QThread>
#include <QWidget>
/* /*
...@@ -70,6 +73,7 @@ MainWindow::MainWindow(QWidget *parent) : ...@@ -70,6 +73,7 @@ MainWindow::MainWindow(QWidget *parent) :
QObject::connect(upw,SIGNAL(widgetOpen()),this,SLOT(show())); QObject::connect(upw,SIGNAL(widgetOpen()),this,SLOT(show()));
QObject::connect(cdd,SIGNAL(sendMessage(QString,QString,QString,QString)),this,SLOT(onSendMessage(QString,QString,QString,QString))); QObject::connect(cdd,SIGNAL(sendMessage(QString,QString,QString,QString)),this,SLOT(onSendMessage(QString,QString,QString,QString)));
QObject::connect(upw,SIGNAL(sendUpdatePosId(QVector<int>)),this,SLOT(onSendUpdatePosId(QVector<int>))); QObject::connect(upw,SIGNAL(sendUpdatePosId(QVector<int>)),this,SLOT(onSendUpdatePosId(QVector<int>)));
} }
...@@ -267,6 +271,7 @@ void MainWindow::on_CheckPlanBtn_clicked() ...@@ -267,6 +271,7 @@ void MainWindow::on_CheckPlanBtn_clicked()
ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft); ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableWidget->setEditTriggers(QAbstractItemView::DoubleClicked); ui->tableWidget->setEditTriggers(QAbstractItemView::DoubleClicked);
} }
else else
{ {
...@@ -351,6 +356,7 @@ void MainWindow::on_CheckPlanBtn_clicked() ...@@ -351,6 +356,7 @@ void MainWindow::on_CheckPlanBtn_clicked()
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableWidget->setEditTriggers(QAbstractItemView::DoubleClicked); ui->tableWidget->setEditTriggers(QAbstractItemView::DoubleClicked);
} }
QObject::connect(ui->tableWidget,SIGNAL(cellChanged(int,int)),this,SLOT(slotCellChanged(int,int))); QObject::connect(ui->tableWidget,SIGNAL(cellChanged(int,int)),this,SLOT(slotCellChanged(int,int)));
} }
...@@ -851,6 +857,14 @@ void MainWindow::on_DeletePlanBtn_clicked() ...@@ -851,6 +857,14 @@ void MainWindow::on_DeletePlanBtn_clicked()
*/ */
void MainWindow::on_CheckListBtn_clicked() void MainWindow::on_CheckListBtn_clicked()
{ {
if(ui->PlanIdLe->text() == NULL)
{
QMessageBox::warning(NULL, "警告", "计划编号不能为空", QMessageBox::Yes, QMessageBox::Yes);
QLOG_WARN()<<"计划编号不能为空";
return;
}
WorkThread wt;
wt.start();
if(ui->realTimeCheckBox->isChecked()) if(ui->realTimeCheckBox->isChecked())
{ {
QLOG_TRACE()<<"The CheckListBtn has been clicked and the realTimeCheckBox was checked!"; QLOG_TRACE()<<"The CheckListBtn has been clicked and the realTimeCheckBox was checked!";
...@@ -1042,6 +1056,7 @@ void MainWindow::on_CheckListBtn_clicked() ...@@ -1042,6 +1056,7 @@ void MainWindow::on_CheckListBtn_clicked()
{ {
ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString())); ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString()));
} }
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
} }
} }
...@@ -1147,6 +1162,7 @@ void MainWindow::on_CheckListBtn_clicked() ...@@ -1147,6 +1162,7 @@ void MainWindow::on_CheckListBtn_clicked()
} }
} }
wt.quit();
} }
...@@ -1290,6 +1306,7 @@ void MainWindow::on_DeleteListBtn_clicked() ...@@ -1290,6 +1306,7 @@ void MainWindow::on_DeleteListBtn_clicked()
{ {
ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString())); ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString()));
} }
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
} }
} }
...@@ -1333,6 +1350,15 @@ void MainWindow::on_DeleteListBtn_clicked() ...@@ -1333,6 +1350,15 @@ void MainWindow::on_DeleteListBtn_clicked()
*/ */
void MainWindow::on_FullInformationBtn_clicked() void MainWindow::on_FullInformationBtn_clicked()
{ {
if(ui->PlanNameLe->text() == NULL)
{
QMessageBox::warning(NULL, "警告", "商户编号不能为空", QMessageBox::Yes, QMessageBox::Yes);
QLOG_WARN()<<"不能为空";
return;
}
WorkThread wt;
wt.start();
ui->tableWidget->setRowCount(0); ui->tableWidget->setRowCount(0);
ui->tableWidget->setColumnCount(0); ui->tableWidget->setColumnCount(0);
...@@ -1358,6 +1384,7 @@ void MainWindow::on_FullInformationBtn_clicked() ...@@ -1358,6 +1384,7 @@ void MainWindow::on_FullInformationBtn_clicked()
QString text = ui->posStateCB->currentText(); QString text = ui->posStateCB->currentText();
int partId = ui->PlanNameLe->text().toInt(); int partId = ui->PlanNameLe->text().toInt();
QSqlQueryModel *model = new QSqlQueryModel; QSqlQueryModel *model = new QSqlQueryModel;
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
if(text == "全部") if(text == "全部")
{ {
QLOG_INFO()<<QString("实时执行SQL语句: ")+QString(QObject::tr("SELECT ts.ID as StoreID,ts.StoreID as StoreNO,tp.ID as '自增POS ID', tp.PosNO,tp.LastHeartbeatTime,tp.UpdateVer," QLOG_INFO()<<QString("实时执行SQL语句: ")+QString(QObject::tr("SELECT ts.ID as StoreID,ts.StoreID as StoreNO,tp.ID as '自增POS ID', tp.PosNO,tp.LastHeartbeatTime,tp.UpdateVer,"
...@@ -1483,6 +1510,7 @@ void MainWindow::on_FullInformationBtn_clicked() ...@@ -1483,6 +1510,7 @@ void MainWindow::on_FullInformationBtn_clicked()
{ {
model->fetchMore(); model->fetchMore();
} }
int rowCount = model->rowCount(); int rowCount = model->rowCount();
int columnCount = model->columnCount(); int columnCount = model->columnCount();
...@@ -1509,8 +1537,11 @@ void MainWindow::on_FullInformationBtn_clicked() ...@@ -1509,8 +1537,11 @@ void MainWindow::on_FullInformationBtn_clicked()
{ {
ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString())); ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString()));
} }
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
} }
} }
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectColumns);
// ui->tableWidget->setSelectionMode(QAbstractItemView::MultiSelection);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
...@@ -1526,15 +1557,15 @@ void MainWindow::on_FullInformationBtn_clicked() ...@@ -1526,15 +1557,15 @@ void MainWindow::on_FullInformationBtn_clicked()
ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft); ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
/*设置点击表头可以进行排序*/ /*设置点击表头可以进行排序*/
QHeaderView *headerGoods = ui->tableWidget->horizontalHeader(); QHeaderView *headerGoods = ui->tableWidget->horizontalHeader();
//SortIndicator为水平标题栏文字旁边的三角指示器 //SortIndicator为水平标题栏文字旁边的三角指示器
headerGoods->setSortIndicator(1, Qt::AscendingOrder); headerGoods->setSortIndicator(1, Qt::AscendingOrder);
// headerGoods->setSortIndicator(2, Qt::AscendingOrder);
// headerGoods->setSortIndicator(3, Qt::AscendingOrder);
headerGoods->setSortIndicatorShown(true); headerGoods->setSortIndicatorShown(true);
// headerGoods->setClickable(true); headerGoods->setSectionsClickable(true);
connect(headerGoods, SIGNAL(sectionClicked(int)), ui->tableWidget, SLOT (sortByColumn(int))); connect(headerGoods, SIGNAL(sectionClicked(int)), ui->tableWidget, SLOT (sortByColumn(int)));
} }
else else
{ {
...@@ -1612,6 +1643,7 @@ void MainWindow::on_FullInformationBtn_clicked() ...@@ -1612,6 +1643,7 @@ void MainWindow::on_FullInformationBtn_clicked()
"AND ts.PartnerId = %1 ").arg(partId)); "AND ts.PartnerId = %1 ").arg(partId));
} }
} }
wt.quit();
} }
...@@ -1794,6 +1826,14 @@ void MainWindow::onSendUpdatePosId(QVector<int> data) ...@@ -1794,6 +1826,14 @@ void MainWindow::onSendUpdatePosId(QVector<int> data)
*/ */
void MainWindow::on_PartInformationBtn_clicked() void MainWindow::on_PartInformationBtn_clicked()
{ {
if(ui->PlanNameLe->text() == NULL)
{
QMessageBox::warning(NULL, "警告", "商户编号不能为空", QMessageBox::Yes, QMessageBox::Yes);
QLOG_WARN()<<"不能为空";
return;
}
WorkThread wt;
wt.start();
ui->tableWidget->setRowCount(0); ui->tableWidget->setRowCount(0);
ui->tableWidget->setColumnCount(0); ui->tableWidget->setColumnCount(0);
...@@ -1983,9 +2023,12 @@ void MainWindow::on_PartInformationBtn_clicked() ...@@ -1983,9 +2023,12 @@ void MainWindow::on_PartInformationBtn_clicked()
{ {
ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString())); ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString()));
} }
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
} }
} }
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectColumns);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents); ui->tableWidget->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
...@@ -2007,7 +2050,7 @@ void MainWindow::on_PartInformationBtn_clicked() ...@@ -2007,7 +2050,7 @@ void MainWindow::on_PartInformationBtn_clicked()
// headerGoods->setSortIndicator(2, Qt::AscendingOrder); // headerGoods->setSortIndicator(2, Qt::AscendingOrder);
// headerGoods->setSortIndicator(3, Qt::AscendingOrder); // headerGoods->setSortIndicator(3, Qt::AscendingOrder);
headerGoods->setSortIndicatorShown(true); headerGoods->setSortIndicatorShown(true);
// headerGoods->setClickable(true); headerGoods->setSectionsClickable(true);
connect(headerGoods, SIGNAL(sectionClicked(int)), ui->tableWidget, SLOT (sortByColumn(int))); connect(headerGoods, SIGNAL(sectionClicked(int)), ui->tableWidget, SLOT (sortByColumn(int)));
} }
else else
...@@ -2099,6 +2142,7 @@ void MainWindow::on_PartInformationBtn_clicked() ...@@ -2099,6 +2142,7 @@ void MainWindow::on_PartInformationBtn_clicked()
"AND tu.UpdateState = 0 "); "AND tu.UpdateState = 0 ");
} }
} }
wt.quit();
} }
...@@ -2123,3 +2167,21 @@ void MainWindow::on_ImplementBtn_clicked() ...@@ -2123,3 +2167,21 @@ void MainWindow::on_ImplementBtn_clicked()
QLOG_INFO()<<QString("单步执行SQL语句: ")+text; QLOG_INFO()<<QString("单步执行SQL语句: ")+text;
ui->tableView->setModel(model); ui->tableView->setModel(model);
} }
//void MainWindow::on_CopyBtn_clicked()
//{
// QVector<int>list;
// int index= ui->tableWidget->currentIndex().column();
// for(int i=0;i<ui->tableWidget->rowCount();i++)
// {
// list.append(ui->tableWidget->item(i,index)->text().toInt());
// }
// QVector<int>::iterator it;
// for(it = list.begin();it != list.end();it++)
// {
// qDebug()<<*it;
// }
//}
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <database.h> #include <database.h>
#include <changedatabasedialog.h> #include <changedatabasedialog.h>
#include <QVector> #include <QVector>
#include <QThread>
namespace Ui { namespace Ui {
class MainWindow; class MainWindow;
...@@ -53,12 +54,16 @@ private slots: ...@@ -53,12 +54,16 @@ private slots:
void on_ImplementBtn_clicked(); void on_ImplementBtn_clicked();
// void closeThread();
// void on_CopyBtn_clicked();
signals: signals:
void sendPartnerId(int,int); void sendPartnerId(int,int);
void tableDataChanged(); void tableDataChanged();
void loademit();
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
ForkPlanWidget *fpw; ForkPlanWidget *fpw;
......
...@@ -501,7 +501,7 @@ ...@@ -501,7 +501,7 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name=""> <widget class="QWidget" name="layoutWidget">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>500</x> <x>500</x>
......
<RCC> <RCC>
<qresource prefix="/new/prefix1"> <qresource prefix="/new/prefix1">
<file>style.qss</file> <file>style.qss</file>
<file>5-121204193R5-50.gif</file>
</qresource> </qresource>
</RCC> </RCC>
...@@ -128,6 +128,11 @@ void UsingPlanWidget::on_pushButton_clicked() ...@@ -128,6 +128,11 @@ void UsingPlanWidget::on_pushButton_clicked()
ui->tableView->setModel(model); ui->tableView->setModel(model);
while(model->canFetchMore())
{
model->fetchMore();
}
int rowCount = model->rowCount(); int rowCount = model->rowCount();
int columnCount = model->columnCount(); int columnCount = model->columnCount();
...@@ -178,6 +183,12 @@ void UsingPlanWidget::on_pushButton_clicked() ...@@ -178,6 +183,12 @@ void UsingPlanWidget::on_pushButton_clicked()
ui->tableView->setModel(model); ui->tableView->setModel(model);
while(model->canFetchMore())
{
model->fetchMore();
}
int rowCount = model->rowCount(); int rowCount = model->rowCount();
int columnCount = model->columnCount(); int columnCount = model->columnCount();
...@@ -228,6 +239,12 @@ void UsingPlanWidget::on_pushButton_clicked() ...@@ -228,6 +239,12 @@ void UsingPlanWidget::on_pushButton_clicked()
ui->tableView->setModel(model); ui->tableView->setModel(model);
while(model->canFetchMore())
{
model->fetchMore();
}
int rowCount = model->rowCount(); int rowCount = model->rowCount();
int columnCount = model->columnCount(); int columnCount = model->columnCount();
...@@ -280,6 +297,12 @@ void UsingPlanWidget::on_pushButton_clicked() ...@@ -280,6 +297,12 @@ void UsingPlanWidget::on_pushButton_clicked()
ui->tableView->setModel(model); ui->tableView->setModel(model);
while(model->canFetchMore())
{
model->fetchMore();
}
int rowCount = model->rowCount(); int rowCount = model->rowCount();
int columnCount = model->columnCount(); int columnCount = model->columnCount();
...@@ -692,7 +715,6 @@ void UsingPlanWidget::on_setTimeStartBtn_clicked() ...@@ -692,7 +715,6 @@ void UsingPlanWidget::on_setTimeStartBtn_clicked()
*/ */
void UsingPlanWidget::slot_receivetime(QString sql,int idTmp,QVector<int> data) void UsingPlanWidget::slot_receivetime(QString sql,int idTmp,QVector<int> data)
{ {
qDebug()<<"1";
QSqlQuery query; QSqlQuery query;
bool res = query.exec(QObject::tr("DECLARE @str VARCHAR(100) ;" bool res = query.exec(QObject::tr("DECLARE @str VARCHAR(100) ;"
"SET @str = '%1' ;" "SET @str = '%1' ;"
......
#include "workthread.h"
#include <QDebug>
WorkThread::WorkThread()
:QThread()
{
lw = new LoadWidget;
connect(this,SIGNAL(send()),this,SLOT(onSend()));
}
WorkThread::~WorkThread()
{
lw->close();
delete lw;
}
void WorkThread::run()
{
emit send();
}
void WorkThread::onSend()
{
lw->setWindowModality(Qt::ApplicationModal);
lw->show();
}
#ifndef WORKTHREAD_H
#define WORKTHREAD_H
#include <QThread>
#include "loadwidget.h"
class WorkThread : public QThread
{
Q_OBJECT
public:
WorkThread();
~WorkThread();
protected:
void run();
private:
LoadWidget* lw;
signals:
void send();
private slots:
void onSend();
};
#endif // WORKTHREAD_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment