给输出加把锁,同1时刻只能有一条线程输出,这样程序就不会突然暴毙了
This commit is contained in:
@@ -1 +0,0 @@
|
||||
This is a dummy file needed to create release/moc_predefs.h
|
||||
@@ -1,98 +0,0 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'widget.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../widget.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'widget.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 68
|
||||
#error "This file was generated using the moc from 6.2.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Widget_t {
|
||||
const uint offsetsAndSize[2];
|
||||
char stringdata0[7];
|
||||
};
|
||||
#define QT_MOC_LITERAL(ofs, len) \
|
||||
uint(offsetof(qt_meta_stringdata_Widget_t, stringdata0) + ofs), len
|
||||
static const qt_meta_stringdata_Widget_t qt_meta_stringdata_Widget = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 6) // "Widget"
|
||||
|
||||
},
|
||||
"Widget"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Widget[] = {
|
||||
|
||||
// content:
|
||||
10, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Widget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
(void)_o;
|
||||
(void)_id;
|
||||
(void)_c;
|
||||
(void)_a;
|
||||
}
|
||||
|
||||
const QMetaObject Widget::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
|
||||
qt_meta_stringdata_Widget.offsetsAndSize,
|
||||
qt_meta_data_Widget,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
qt_incomplete_metaTypeArray<qt_meta_stringdata_Widget_t
|
||||
, QtPrivate::TypeAndForceComplete<Widget, std::true_type>
|
||||
|
||||
|
||||
|
||||
>,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *Widget::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Widget::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Widget.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QWidget::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Widget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QWidget::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
||||
@@ -1,56 +0,0 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>C:\Qt\6.2.2\msvc2019_64\include;C:\Qt\6.2.2\msvc2019_64\include\QtWidgets;C:\Qt\6.2.2\msvc2019_64\include\QtGui;C:\Qt\6.2.2\msvc2019_64\include\QtNetwork;C:\Qt\6.2.2\msvc2019_64\include\QtCore;/include;C:\Qt\6.2.2\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_LIBS_>C:\Qt\6.2.2\msvc2019_64\lib\Qt6Widgets.lib;C:\Qt\6.2.2\msvc2019_64\lib\Qt6Gui.lib;C:\Qt\6.2.2\msvc2019_64\lib\Qt6Network.lib;C:\Qt\6.2.2\msvc2019_64\lib\Qt6Core.lib;C:\Qt\6.2.2\msvc2019_64\lib\Qt6EntryPoint.lib;shell32.lib</Qt_LIBS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>C:/Qt/Docs/Qt-6.2.2</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>C:/Qt/6.2.2/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>C:/Qt/6.2.2/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/6.2.2/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>C:/Qt/6.2.2/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>C:/Qt/6.2.2/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>C:/Qt/6.2.2/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_QML_>C:/Qt/6.2.2/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/6.2.2/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Examples/Qt-6.2.2</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>C:/Qt/Examples/Qt-6.2.2</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>C:/Qt/6.2.2/msvc2019_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBEXECS_>C:/Qt/6.2.2/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
|
||||
<QMake_QT_HOST_LIBS_>C:/Qt/6.2.2/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>6.2.2</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);Release;C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
>6.2.2_msvc2019_64</QtBkup_QtInstall>
|
||||
<QtBkup_QtModules
|
||||
>core;network;gui;widgets</QtBkup_QtModules>
|
||||
<QtBkup_QtPathBinaries
|
||||
>bin</QtBkup_QtPathBinaries>
|
||||
<QtBkup_QtPathLibraryExecutables
|
||||
>bin</QtBkup_QtPathLibraryExecutables>
|
||||
<QtBkup_QtHeaderSearchPath
|
||||
></QtBkup_QtHeaderSearchPath>
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/-D([^\s=]+(=(\x22(\\\\|\\\x22|[^\x22])*\x22|\S+))?)/$1/;INCLUDEPATH=INCPATH/-(?:iquote|isystem|idirafter|I)\s*(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBS=/(?:(?:\/LIBPATH:|-L)(?:\x22[^\x22]+\x22|[^\s]+))|(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBPATH=LIBS/(?:\/LIBPATH:|-L)(\x22[^\x22]+\x22|[^\s]+)/$1/</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>release</QtBkup_QtBuildConfig>
|
||||
<QtVersion>6.2.2</QtVersion>
|
||||
<QtVersionMajor>6</QtVersionMajor>
|
||||
<QtVersionMinor>2</QtVersionMinor>
|
||||
<QtVersionPatch>2</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
-1
@@ -1 +0,0 @@
|
||||
C:\Users\wuwen\AppData\Local\Temp\q4ot01m1.b1z.designtime.props
|
||||
File diff suppressed because one or more lines are too long
@@ -1,25 +0,0 @@
|
||||
QT_SYSROOT:
|
||||
QT_INSTALL_PREFIX:C:/Qt/6.2.2/msvc2019_64
|
||||
QT_INSTALL_ARCHDATA:C:/Qt/6.2.2/msvc2019_64
|
||||
QT_INSTALL_DATA:C:/Qt/6.2.2/msvc2019_64
|
||||
QT_INSTALL_DOCS:C:/Qt/Docs/Qt-6.2.2
|
||||
QT_INSTALL_HEADERS:C:/Qt/6.2.2/msvc2019_64/include
|
||||
QT_INSTALL_LIBS:C:/Qt/6.2.2/msvc2019_64/lib
|
||||
QT_INSTALL_LIBEXECS:C:/Qt/6.2.2/msvc2019_64/bin
|
||||
QT_INSTALL_BINS:C:/Qt/6.2.2/msvc2019_64/bin
|
||||
QT_INSTALL_TESTS:C:/Qt/6.2.2/msvc2019_64/tests
|
||||
QT_INSTALL_PLUGINS:C:/Qt/6.2.2/msvc2019_64/plugins
|
||||
QT_INSTALL_QML:C:/Qt/6.2.2/msvc2019_64/qml
|
||||
QT_INSTALL_TRANSLATIONS:C:/Qt/6.2.2/msvc2019_64/translations
|
||||
QT_INSTALL_CONFIGURATION:
|
||||
QT_INSTALL_EXAMPLES:C:/Qt/Examples/Qt-6.2.2
|
||||
QT_INSTALL_DEMOS:C:/Qt/Examples/Qt-6.2.2
|
||||
QT_HOST_PREFIX:C:/Qt/6.2.2/msvc2019_64
|
||||
QT_HOST_DATA:C:/Qt/6.2.2/msvc2019_64
|
||||
QT_HOST_BINS:C:/Qt/6.2.2/msvc2019_64/bin
|
||||
QT_HOST_LIBEXECS:C:/Qt/6.2.2/msvc2019_64/bin
|
||||
QT_HOST_LIBS:C:/Qt/6.2.2/msvc2019_64/lib
|
||||
QMAKE_SPEC:win32-msvc
|
||||
QMAKE_XSPEC:win32-msvc
|
||||
QMAKE_VERSION:3.1
|
||||
QT_VERSION:6.2.2
|
||||
@@ -1,2 +0,0 @@
|
||||
CONFIG += no_fixpath
|
||||
QT += core network gui widgets
|
||||
@@ -1,56 +0,0 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>C:\Qt\6.2.2\msvc2019_64\include;C:\Qt\6.2.2\msvc2019_64\include\QtWidgets;C:\Qt\6.2.2\msvc2019_64\include\QtGui;C:\Qt\6.2.2\msvc2019_64\include\QtNetwork;C:\Qt\6.2.2\msvc2019_64\include\QtCore;/include;C:\Qt\6.2.2\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_LIBS_>C:\Qt\6.2.2\msvc2019_64\lib\Qt6Widgets.lib;C:\Qt\6.2.2\msvc2019_64\lib\Qt6Gui.lib;C:\Qt\6.2.2\msvc2019_64\lib\Qt6Network.lib;C:\Qt\6.2.2\msvc2019_64\lib\Qt6Core.lib;C:\Qt\6.2.2\msvc2019_64\lib\Qt6EntryPoint.lib;shell32.lib</Qt_LIBS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>C:/Qt/Docs/Qt-6.2.2</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>C:/Qt/6.2.2/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>C:/Qt/6.2.2/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/6.2.2/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>C:/Qt/6.2.2/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>C:/Qt/6.2.2/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>C:/Qt/6.2.2/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_QML_>C:/Qt/6.2.2/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/6.2.2/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Examples/Qt-6.2.2</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>C:/Qt/Examples/Qt-6.2.2</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>C:/Qt/6.2.2/msvc2019_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>C:/Qt/6.2.2/msvc2019_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBEXECS_>C:/Qt/6.2.2/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
|
||||
<QMake_QT_HOST_LIBS_>C:/Qt/6.2.2/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>6.2.2</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);Release;C:\Users\wuwen\Desktop\tcp_ip_scan\ip_sacaner</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
>6.2.2_msvc2019_64</QtBkup_QtInstall>
|
||||
<QtBkup_QtModules
|
||||
>core;network;gui;widgets</QtBkup_QtModules>
|
||||
<QtBkup_QtPathBinaries
|
||||
>bin</QtBkup_QtPathBinaries>
|
||||
<QtBkup_QtPathLibraryExecutables
|
||||
>bin</QtBkup_QtPathLibraryExecutables>
|
||||
<QtBkup_QtHeaderSearchPath
|
||||
></QtBkup_QtHeaderSearchPath>
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/-D([^\s=]+(=(\x22(\\\\|\\\x22|[^\x22])*\x22|\S+))?)/$1/;INCLUDEPATH=INCPATH/-(?:iquote|isystem|idirafter|I)\s*(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBS=/(?:(?:\/LIBPATH:|-L)(?:\x22[^\x22]+\x22|[^\s]+))|(\x22[^\x22]+\x22|[^\s]+)/$1/;LIBPATH=LIBS/(?:\/LIBPATH:|-L)(\x22[^\x22]+\x22|[^\s]+)/$1/</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>release</QtBkup_QtBuildConfig>
|
||||
<QtVersion>6.2.2</QtVersion>
|
||||
<QtVersionMajor>6</QtVersionMajor>
|
||||
<QtVersionMinor>2</QtVersionMinor>
|
||||
<QtVersionPatch>2</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Binary file not shown.
+12
-4
@@ -35,8 +35,11 @@ void trytry::run()
|
||||
m_socket.connectToHost(ipstr, ipint, QTcpSocket::ReadWrite);
|
||||
if (m_socket.waitForConnected(timeout))
|
||||
{
|
||||
while(*outputbusy);
|
||||
*outputbusy=1;
|
||||
QString temp = QString("%1:%2").arg(ipstr).arg(ipint);
|
||||
output_list->append(temp);
|
||||
output_list->append(temp);
|
||||
*outputbusy=0;
|
||||
}
|
||||
m_socket.disconnectFromHost();
|
||||
m_socket.disconnect();
|
||||
@@ -61,7 +64,7 @@ void dispatch::tray(const QString& ipstr, quint32 ipint)
|
||||
|
||||
if (ipint != 0 && ipstr != "")
|
||||
{
|
||||
|
||||
//qDebug()<<"thread "<<now_thread_num<<":"<<set_thread_num;
|
||||
while (now_thread_num> set_thread_num);
|
||||
|
||||
try_telnet=new trytry;
|
||||
@@ -74,9 +77,11 @@ void dispatch::tray(const QString& ipstr, quint32 ipint)
|
||||
try_telnet->t_bar=&t_bar;
|
||||
try_telnet->nt_bar=&nt_bar;
|
||||
|
||||
try_telnet->outputbusy=&outputbusy;
|
||||
|
||||
try_telnet->the_bar=the_bar;
|
||||
|
||||
try_telnet->moveToThread(main_thread);
|
||||
//try_telnet->moveToThread(main_thread);
|
||||
try_telnet->start();
|
||||
|
||||
|
||||
@@ -89,7 +94,7 @@ void dispatch::run()
|
||||
|
||||
//the_bar->setValue(20);
|
||||
|
||||
QTcpSocket* m_socket = new QTcpSocket;
|
||||
//QTcpSocket* m_socket = new QTcpSocket;
|
||||
|
||||
QStringList str_ip_list = ip_list->toPlainText().split("\n"); //先以行分割
|
||||
QStringList str_ips_list; //再以段分割
|
||||
@@ -135,6 +140,9 @@ void dispatch::run()
|
||||
|
||||
t_bar=ips_num*ports_num;
|
||||
nt_bar=0;
|
||||
outputbusy=0;
|
||||
|
||||
\
|
||||
//qDebug()<<*t_bar;
|
||||
//*****************************
|
||||
for (int i = 0; i < str_ip_list.size(); ++i)
|
||||
|
||||
@@ -15,6 +15,7 @@ class trytry : public QThread
|
||||
{
|
||||
public:
|
||||
|
||||
quint16 *outputbusy;
|
||||
|
||||
quint16 timeout;
|
||||
QString ipstr;
|
||||
@@ -42,8 +43,8 @@ public:
|
||||
quint16 timeout;
|
||||
quint64 t_bar=0;
|
||||
quint64 nt_bar=0;
|
||||
|
||||
QThread* main_thread;
|
||||
quint16 outputbusy=0;
|
||||
//QThread* main_thread;
|
||||
QTextEdit* ip_list;
|
||||
QTextEdit* port_list;
|
||||
QTextEdit* output_list;
|
||||
|
||||
@@ -1,126 +0,0 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'widget.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 5.12.12
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_WIDGET_H
|
||||
#define UI_WIDGET_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QProgressBar>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QSpinBox>
|
||||
#include <QtWidgets/QTextEdit>
|
||||
#include <QtWidgets/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_Widget
|
||||
{
|
||||
public:
|
||||
QTextEdit *port_list;
|
||||
QLabel *label_3;
|
||||
QPushButton *stard_scan;
|
||||
QSpinBox *threads;
|
||||
QLabel *label_4;
|
||||
QLabel *label_5;
|
||||
QPushButton *pushButton;
|
||||
QTextEdit *IP_list;
|
||||
QLabel *label;
|
||||
QTextEdit *outputlist;
|
||||
QLabel *label_2;
|
||||
QSpinBox *timeout;
|
||||
QProgressBar *type_bar;
|
||||
|
||||
void setupUi(QWidget *Widget)
|
||||
{
|
||||
if (Widget->objectName().isEmpty())
|
||||
Widget->setObjectName(QString::fromUtf8("Widget"));
|
||||
Widget->resize(600, 500);
|
||||
Widget->setMinimumSize(QSize(600, 500));
|
||||
Widget->setMaximumSize(QSize(600, 500));
|
||||
port_list = new QTextEdit(Widget);
|
||||
port_list->setObjectName(QString::fromUtf8("port_list"));
|
||||
port_list->setGeometry(QRect(500, 100, 91, 111));
|
||||
label_3 = new QLabel(Widget);
|
||||
label_3->setObjectName(QString::fromUtf8("label_3"));
|
||||
label_3->setGeometry(QRect(510, 30, 71, 61));
|
||||
stard_scan = new QPushButton(Widget);
|
||||
stard_scan->setObjectName(QString::fromUtf8("stard_scan"));
|
||||
stard_scan->setGeometry(QRect(420, 220, 171, 41));
|
||||
threads = new QSpinBox(Widget);
|
||||
threads->setObjectName(QString::fromUtf8("threads"));
|
||||
threads->setGeometry(QRect(350, 230, 61, 22));
|
||||
threads->setMinimum(1);
|
||||
threads->setMaximum(999);
|
||||
threads->setValue(10);
|
||||
label_4 = new QLabel(Widget);
|
||||
label_4->setObjectName(QString::fromUtf8("label_4"));
|
||||
label_4->setGeometry(QRect(320, 230, 31, 16));
|
||||
label_5 = new QLabel(Widget);
|
||||
label_5->setObjectName(QString::fromUtf8("label_5"));
|
||||
label_5->setGeometry(QRect(10, 230, 53, 16));
|
||||
pushButton = new QPushButton(Widget);
|
||||
pushButton->setObjectName(QString::fromUtf8("pushButton"));
|
||||
pushButton->setGeometry(QRect(70, 230, 91, 24));
|
||||
IP_list = new QTextEdit(Widget);
|
||||
IP_list->setObjectName(QString::fromUtf8("IP_list"));
|
||||
IP_list->setGeometry(QRect(10, 100, 471, 111));
|
||||
label = new QLabel(Widget);
|
||||
label->setObjectName(QString::fromUtf8("label"));
|
||||
label->setGeometry(QRect(10, 20, 141, 71));
|
||||
outputlist = new QTextEdit(Widget);
|
||||
outputlist->setObjectName(QString::fromUtf8("outputlist"));
|
||||
outputlist->setGeometry(QRect(10, 300, 581, 191));
|
||||
outputlist->setReadOnly(true);
|
||||
label_2 = new QLabel(Widget);
|
||||
label_2->setObjectName(QString::fromUtf8("label_2"));
|
||||
label_2->setGeometry(QRect(200, 230, 41, 16));
|
||||
timeout = new QSpinBox(Widget);
|
||||
timeout->setObjectName(QString::fromUtf8("timeout"));
|
||||
timeout->setGeometry(QRect(250, 230, 61, 22));
|
||||
timeout->setMinimum(1);
|
||||
timeout->setMaximum(1000);
|
||||
timeout->setValue(100);
|
||||
type_bar = new QProgressBar(Widget);
|
||||
type_bar->setObjectName(QString::fromUtf8("type_bar"));
|
||||
type_bar->setGeometry(QRect(10, 270, 581, 23));
|
||||
type_bar->setValue(0);
|
||||
|
||||
retranslateUi(Widget);
|
||||
|
||||
QMetaObject::connectSlotsByName(Widget);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QWidget *Widget)
|
||||
{
|
||||
Widget->setWindowTitle(QApplication::translate("Widget", "Widget", nullptr));
|
||||
label_3->setText(QApplication::translate("Widget", "\347\253\257\345\217\243\350\214\203\345\233\264\n"
|
||||
"80\n"
|
||||
"443\n"
|
||||
"3000-65535", nullptr));
|
||||
stard_scan->setText(QApplication::translate("Widget", "\345\274\200\345\247\213\346\211\253\346\217\217", nullptr));
|
||||
label_4->setText(QApplication::translate("Widget", "\347\272\277\347\250\213", nullptr));
|
||||
label_5->setText(QApplication::translate("Widget", "\346\211\253\346\217\217\347\273\223\346\236\234", nullptr));
|
||||
pushButton->setText(QApplication::translate("Widget", "\344\277\235\345\255\230\346\211\253\346\217\217\347\273\223\346\236\234", nullptr));
|
||||
label->setText(QApplication::translate("Widget", "IP\350\214\203\345\233\264\n"
|
||||
"127.0.0.1\n"
|
||||
"0.0.0.0-255.255.255.255\n"
|
||||
"domain.com", nullptr));
|
||||
label_2->setText(QApplication::translate("Widget", "\350\266\205\346\227\266ms", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class Widget: public Ui_Widget {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_WIDGET_H
|
||||
+33
-5
@@ -25,11 +25,23 @@ Widget::Widget(QWidget *parent)
|
||||
|
||||
|
||||
|
||||
main_thread = new QThread(this);
|
||||
main_thread->start();
|
||||
//main_thread = new QThread(this);
|
||||
//main_thread->start();
|
||||
connect(ui->stard_scan, &QPushButton::pressed, [=]()
|
||||
{
|
||||
|
||||
|
||||
if(scan_flag==0)
|
||||
{
|
||||
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("停止");
|
||||
|
||||
|
||||
dispatch* dispatch_thread;
|
||||
dispatch_thread = new dispatch;
|
||||
|
||||
@@ -40,15 +52,31 @@ Widget::Widget(QWidget *parent)
|
||||
dispatch_thread->now_thread_num = 0;
|
||||
dispatch_thread->timeout = ui->timeout->value();
|
||||
dispatch_thread->the_bar=ui->type_bar;
|
||||
dispatch_thread->main_thread = main_thread;
|
||||
dispatch_thread->moveToThread(main_thread);
|
||||
//dispatch_thread->main_thread = main_thread;
|
||||
//dispatch_thread->moveToThread(main_thread);
|
||||
dispatch_thread->start();
|
||||
connect(dispatch_thread, &dispatch::dispatch_finish, [=]()
|
||||
{
|
||||
qDebug() << "dispatch_finish";
|
||||
disconnect(dispatch_thread);
|
||||
//delete dispatch_thread;
|
||||
});
|
||||
}else
|
||||
{
|
||||
//dispatch_thread->exit();
|
||||
ui->IP_list->setReadOnly(false);
|
||||
ui->port_list->setReadOnly(false);
|
||||
ui->timeout->setReadOnly(false);
|
||||
ui->threads->setReadOnly(false);
|
||||
ui->stard_scan->setText("开始扫描");
|
||||
scan_flag=0;
|
||||
}
|
||||
|
||||
});//'scan button pass'
|
||||
|
||||
|
||||
|
||||
|
||||
connect(ui->IP_list,&QTextEdit::textChanged,this, &Widget::auto_edit);
|
||||
|
||||
|
||||
@@ -56,7 +84,7 @@ Widget::Widget(QWidget *parent)
|
||||
|
||||
Widget::~Widget()
|
||||
{
|
||||
main_thread->exit();
|
||||
//main_thread->exit();
|
||||
//delete main_thread;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
+4
-1
@@ -24,11 +24,14 @@ public:
|
||||
|
||||
void auto_edit();
|
||||
|
||||
QThread* main_thread;
|
||||
//QThread* main_thread;
|
||||
|
||||
qint16 scan_flag=0;
|
||||
|
||||
quint64 *t_bar;
|
||||
quint64 *nt_bar;
|
||||
|
||||
|
||||
private:
|
||||
Ui::Widget* ui;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user