Commit 5cc6edbf by xiaoqing.gu

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

parent 4277b9a4
......@@ -23,7 +23,9 @@ SOURCES += main.cpp\
checkboxdelegate.cpp \
changedatabasedialog.cpp \
combobutton.cpp \
mythread.cpp
mythread.cpp \
loadwidget.cpp \
workthread.cpp
HEADERS += mainwindow.h \
database.h \
......@@ -32,12 +34,15 @@ HEADERS += mainwindow.h \
checkboxdelegate.h \
changedatabasedialog.h \
combobutton.h \
mythread.h
mythread.h \
loadwidget.h \
workthread.h
FORMS += mainwindow.ui \
forkplanwidget.ui \
usingplanwidget.ui \
changedatabasedialog.ui
changedatabasedialog.ui \
loadwidget.ui
RESOURCES += \
style.qrc
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<data>
<variable>EnvironmentId</variable>
......@@ -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.DisplayName">Desktop Qt 5.5.1 MinGW 32bit</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.ActiveRunConfiguration">0</value>
<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 @@
#include <combobutton.h>
#include <QsLog.h>
#include <QHeaderView>
#include "workthread.h"
#include <QThread>
#include <QWidget>
/*
......@@ -70,6 +73,7 @@ MainWindow::MainWindow(QWidget *parent) :
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(upw,SIGNAL(sendUpdatePosId(QVector<int>)),this,SLOT(onSendUpdatePosId(QVector<int>)));
}
......@@ -267,6 +271,7 @@ void MainWindow::on_CheckPlanBtn_clicked()
ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableWidget->setEditTriggers(QAbstractItemView::DoubleClicked);
}
else
{
......@@ -351,6 +356,7 @@ void MainWindow::on_CheckPlanBtn_clicked()
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableWidget->setEditTriggers(QAbstractItemView::DoubleClicked);
}
QObject::connect(ui->tableWidget,SIGNAL(cellChanged(int,int)),this,SLOT(slotCellChanged(int,int)));
}
......@@ -851,6 +857,14 @@ void MainWindow::on_DeletePlanBtn_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())
{
QLOG_TRACE()<<"The CheckListBtn has been clicked and the realTimeCheckBox was checked!";
......@@ -1042,6 +1056,7 @@ void MainWindow::on_CheckListBtn_clicked()
{
ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString()));
}
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
}
}
......@@ -1147,6 +1162,7 @@ void MainWindow::on_CheckListBtn_clicked()
}
}
wt.quit();
}
......@@ -1290,6 +1306,7 @@ void MainWindow::on_DeleteListBtn_clicked()
{
ui->tableWidget->setItem(i,j,new QTableWidgetItem(data.toString()));
}
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
}
}
......@@ -1333,6 +1350,15 @@ void MainWindow::on_DeleteListBtn_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->setColumnCount(0);
......@@ -1358,6 +1384,7 @@ void MainWindow::on_FullInformationBtn_clicked()
QString text = ui->posStateCB->currentText();
int partId = ui->PlanNameLe->text().toInt();
QSqlQueryModel *model = new QSqlQueryModel;
QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
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,"
......@@ -1483,6 +1510,7 @@ void MainWindow::on_FullInformationBtn_clicked()
{
model->fetchMore();
}
int rowCount = model->rowCount();
int columnCount = model->columnCount();
......@@ -1509,8 +1537,11 @@ void MainWindow::on_FullInformationBtn_clicked()
{
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(1, QHeaderView::ResizeToContents);
......@@ -1526,15 +1557,15 @@ void MainWindow::on_FullInformationBtn_clicked()
ui->tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
/*设置点击表头可以进行排序*/
QHeaderView *headerGoods = ui->tableWidget->horizontalHeader();
//SortIndicator为水平标题栏文字旁边的三角指示器
headerGoods->setSortIndicator(1, Qt::AscendingOrder);
// headerGoods->setSortIndicator(2, Qt::AscendingOrder);
// headerGoods->setSortIndicator(3, Qt::AscendingOrder);
headerGoods->setSortIndicatorShown(true);
// headerGoods->setClickable(true);
headerGoods->setSectionsClickable(true);
connect(headerGoods, SIGNAL(sectionClicked(int)), ui->tableWidget, SLOT (sortByColumn(int)));
}
else
{
......@@ -1612,6 +1643,7 @@ void MainWindow::on_FullInformationBtn_clicked()
"AND ts.PartnerId = %1 ").arg(partId));
}
}
wt.quit();
}
......@@ -1794,6 +1826,14 @@ void MainWindow::onSendUpdatePosId(QVector<int> data)
*/
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->setColumnCount(0);
......@@ -1983,9 +2023,12 @@ void MainWindow::on_PartInformationBtn_clicked()
{
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(1, QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
......@@ -2007,7 +2050,7 @@ void MainWindow::on_PartInformationBtn_clicked()
// headerGoods->setSortIndicator(2, Qt::AscendingOrder);
// headerGoods->setSortIndicator(3, Qt::AscendingOrder);
headerGoods->setSortIndicatorShown(true);
// headerGoods->setClickable(true);
headerGoods->setSectionsClickable(true);
connect(headerGoods, SIGNAL(sectionClicked(int)), ui->tableWidget, SLOT (sortByColumn(int)));
}
else
......@@ -2099,6 +2142,7 @@ void MainWindow::on_PartInformationBtn_clicked()
"AND tu.UpdateState = 0 ");
}
}
wt.quit();
}
......@@ -2123,3 +2167,21 @@ void MainWindow::on_ImplementBtn_clicked()
QLOG_INFO()<<QString("单步执行SQL语句: ")+text;
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 @@
#include <database.h>
#include <changedatabasedialog.h>
#include <QVector>
#include <QThread>
namespace Ui {
class MainWindow;
......@@ -53,12 +54,16 @@ private slots:
void on_ImplementBtn_clicked();
// void closeThread();
// void on_CopyBtn_clicked();
signals:
void sendPartnerId(int,int);
void tableDataChanged();
void loademit();
private:
Ui::MainWindow *ui;
ForkPlanWidget *fpw;
......
......@@ -501,7 +501,7 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="">
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>500</x>
......
<RCC>
<qresource prefix="/new/prefix1">
<file>style.qss</file>
<file>5-121204193R5-50.gif</file>
</qresource>
</RCC>
......@@ -128,6 +128,11 @@ void UsingPlanWidget::on_pushButton_clicked()
ui->tableView->setModel(model);
while(model->canFetchMore())
{
model->fetchMore();
}
int rowCount = model->rowCount();
int columnCount = model->columnCount();
......@@ -178,6 +183,12 @@ void UsingPlanWidget::on_pushButton_clicked()
ui->tableView->setModel(model);
while(model->canFetchMore())
{
model->fetchMore();
}
int rowCount = model->rowCount();
int columnCount = model->columnCount();
......@@ -228,6 +239,12 @@ void UsingPlanWidget::on_pushButton_clicked()
ui->tableView->setModel(model);
while(model->canFetchMore())
{
model->fetchMore();
}
int rowCount = model->rowCount();
int columnCount = model->columnCount();
......@@ -280,6 +297,12 @@ void UsingPlanWidget::on_pushButton_clicked()
ui->tableView->setModel(model);
while(model->canFetchMore())
{
model->fetchMore();
}
int rowCount = model->rowCount();
int columnCount = model->columnCount();
......@@ -692,7 +715,6 @@ void UsingPlanWidget::on_setTimeStartBtn_clicked()
*/
void UsingPlanWidget::slot_receivetime(QString sql,int idTmp,QVector<int> data)
{
qDebug()<<"1";
QSqlQuery query;
bool res = query.exec(QObject::tr("DECLARE @str VARCHAR(100) ;"
"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