#include "orderform.h" #include "ui_orderform.h" #include <QProcess> #include <QDebug> #include <QDesktopServices> #include <QUrl> #include <mainwindow.h> #include <QMessageBox> #include <Windows.h> #include<QRegExpValidator> static QTcpSocket *tcpsocket; OrderForm::OrderForm(QWidget *parent) : QWidget(parent), ui(new Ui::OrderForm) { ui->setupUi(this); ui->lineEdit1->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit2->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit3->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit4->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit5->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit1->installEventFilter(this); ui->lineEdit2->installEventFilter(this); ui->lineEdit3->installEventFilter(this); ui->lineEdit4->installEventFilter(this); ui->lineEdit5->installEventFilter(this); ui->lineEdit6->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit7->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit8->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit9->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit10->setValidator(new QRegExpValidator(QRegExp("^[+-]?[0-9.0-9]*"))); ui->lineEdit6->installEventFilter(this); ui->lineEdit7->installEventFilter(this); ui->lineEdit8->installEventFilter(this); ui->lineEdit9->installEventFilter(this); ui->lineEdit10->installEventFilter(this); tcpsocket = new QTcpSocket(); tcpsocket->abort(); //连接服务器 tcpsocket->connectToHost("127.0.0.1", 15000); //等待连接成功 if(!tcpsocket->waitForConnected(30000)) { qDebug() << "Connection failed!"; QMessageBox::critical(0, QObject::tr("failed"), "Connection failed!"); return; } //connect(tcpsocket, SIGNAL(readyRead()), this, SLOT(read_from_server())); qDebug() << "Connect successfully!"; QMessageBox::critical(0, QObject::tr("successfully"), "Connection successfully!"); } OrderForm::~OrderForm() { delete ui; } //事件过滤器 bool OrderForm::eventFilter(QObject *watched, QEvent *event) { if(event->type()==QEvent::MouseButtonPress){ if(watched==ui->lineEdit1 ||watched==ui->lineEdit2 ||watched==ui->lineEdit3 || watched==ui->lineEdit4 ||watched==ui->lineEdit5 || watched==ui->lineEdit6 ||watched==ui->lineEdit7 ||watched==ui->lineEdit8 || watched==ui->lineEdit9 ||watched==ui->lineEdit10){ int pInt = QProcess::execute("taskkill /im osk.exe /f"); QDesktopServices::openUrl(QUrl("osk.exe", QUrl::TolerantMode)); } } return QWidget::eventFilter(watched,event); } void OrderForm::read_from_server() { tcpsocket->connectToHost("127.0.0.1", 15000); QString qstr = ""; while (tcpsocket->bytesAvailable()) { QString temp = tcpsocket->readAll(); qstr+= temp; if(qstr.endsWith("\r\n")){ std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); qstr = ""; } } } void OrderForm::on_pushButton1_clicked() { QString qstr = "Control:tiaoya," + ui->lineEdit1->text()+"\r\n"; if(ui->lineEdit1->text()==""){ qstr = "Control:tiaoya,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton2_clicked() { QString qstr = "Control:tiaoliu," + ui->lineEdit2->text()+"\r\n"; if(ui->lineEdit2->text()==""){ qstr = "Control:tiaoliu,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton3_clicked() { QString qstr = "Control:quya," + ui->lineEdit3->text()+"\r\n"; if(ui->lineEdit3->text()==""){ qstr = "Control:quya,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton4_clicked() { QString qstr = "Control:quliu," + ui->lineEdit4->text()+"\r\n"; if(ui->lineEdit4->text()==""){ qstr = "Control:quliu,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton5_clicked() { if(ui->lineEdit5->text().toFloat()>32){ return; } QString qstr = "Control:diliu," + ui->lineEdit5->text()+"\r\n"; if(ui->lineEdit5->text()==""){ qstr = "Control:diliu,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton1_4_clicked() { QString qstr = "Control:yalishangxian," + ui->lineEdit6->text()+"\r\n"; if(ui->lineEdit6->text()==""){ qstr = "Control:yalishangxian,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton1_5_clicked() { QString qstr = "Control:yalixiaxian," + ui->lineEdit7->text()+"\r\n"; if(ui->lineEdit7->text()==""){ qstr = "Control:yalixiaxian,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton1_6_clicked() { QString qstr = "Control:liuliangshangxian," + ui->lineEdit8->text()+"\r\n"; if(ui->lineEdit8->text()==""){ qstr = "Control:liuliangshangxian,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton1_7_clicked() { QString qstr = "Control:liuliangxiaxian," + ui->lineEdit9->text()+"\r\n"; if(ui->lineEdit9->text()==""){ qstr = "Control:liuliangxiaxian,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_pushButton1_8_clicked() { QString qstr = "Control:zengjianbuchang," + ui->lineEdit10->text()+"\r\n"; if(ui->lineEdit10->text()==""){ qstr = "Control:zengjianbuchang,0\r\n"; } std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } void OrderForm::on_choosebtn1_clicked() { if(ui->radioButton->isChecked()){ QString qstr = "Control:bendizhongxin,1\r\n"; std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); }else{ QString qstr = "Control:bendizhongxin,0\r\n"; std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } } void OrderForm::on_choosebtn2_clicked() { if(ui->radioButton_3->isChecked()){ QString qstr = "Control:zidongshoudong,0\r\n"; std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); }else{ QString qstr = "Control:zidongshoudong,1\r\n" ; std::string str = qstr.toStdString(); tcpsocket->write(str.c_str()); tcpsocket->flush(); } }