Files
tcp_ip_scan/ip_sacaner/widget.cpp
T
2024-01-29 18:58:54 +08:00

82 lines
1.8 KiB
C++

#include "widget.h"
#include "ui_widget.h"
void Widget::auto_edit()
{
//qDebug("%d",rand());
}
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
ui->outputlist->setReadOnly(true);
ui->stard_scan->setText("start scan");
connect(this,&Widget::start_scan,[=]{
scan_flag=1;
ui->IP_list->setReadOnly(true);
ui->port_list->setReadOnly(true);
ui->timeout->setReadOnly(true);
ui->threads->setReadOnly(true);
ui->stard_scan->setText("stop scan");
dispatch_thread = new dispatch;//线程分发
dispatch_thread->ip_list=ui->IP_list->toPlainText();
dispatch_thread->port_list=ui->port_list->toPlainText();
dispatch_thread->set_thread_num = ui->threads->value();
dispatch_thread->now_thread_num = 0;
dispatch_thread->timeout = ui->timeout->value();
connect(dispatch_thread,&dispatch::dispatch_finish,[=]{
emit stop_scan();
});
dispatch_thread->start();
});
connect(this,&Widget::stop_scan,[=]{
scan_flag=0;
ui->IP_list->setReadOnly(false);
ui->port_list->setReadOnly(false);
ui->timeout->setReadOnly(false);
ui->threads->setReadOnly(false);
ui->stard_scan->setText("start scan");
qDebug() << "tray_exit";
dispatch_thread->disconnect();
dispatch_thread->terminate();
delete dispatch_thread;
});
connect(ui->stard_scan, &QPushButton::pressed, [=]()
{
if(scan_flag==0)
{
emit start_scan();
}else
{
emit stop_scan();
}
});//'scan button pass'
}
Widget::~Widget()
{
//main_thread->exit();
//delete main_thread;
delete ui;
}