Can't match two codes.



  • Core code:

    #des
    #---------------
    

    -- coding: utf-8 --

    from PyQt5 import QtCore, QtGui, QtWidgets

    class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(818, 469)
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap(":/ico/Python.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    MainWindow.setWindowIcon(icon)
    MainWindow.setStyleSheet("background-color:#b2b2b2;")
    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.gridLayout_3 = QtWidgets.QGridLayout(self.centralwidget)
    self.gridLayout_3.setObjectName("gridLayout_3")
    self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
    self.tabWidget.setStyleSheet("background-color: #b2b2b2;")
    self.tabWidget.setObjectName("tabWidget")
    self.tab = QtWidgets.QWidget()
    self.tab.setObjectName("tab")
    self.label_3 = QtWidgets.QLabel(self.tab)
    self.label_3.setGeometry(QtCore.QRect(0, 0, 691, 383))
    self.label_3.setStyleSheet("border-image: url(:/img/Снимок.PNG);")
    self.label_3.setText("")
    self.label_3.setObjectName("label_3")
    self.pushButton_6 = QtWidgets.QPushButton(self.tab)
    self.pushButton_6.setGeometry(QtCore.QRect(10, 10, 75, 23))
    self.pushButton_6.setStyleSheet("QPushButton {\n"
    " background-color: #54e346;\n"
    "}\n"
    "QPushButton:hover {\n"
    " background-color: white;\n"
    "}\n"
    "QPushButton:pressed {\n"
    " color: #626AB0;\n"
    " background-color: #D5D4D4;\n"
    "}")
    self.pushButton_6.setObjectName("pushButton_6")
    self.tabWidget.addTab(self.tab, "")
    self.tab_2 = QtWidgets.QWidget()
    self.tab_2.setToolTip("")
    self.tab_2.setObjectName("tab_2")
    self.gridLayout = QtWidgets.QGridLayout(self.tab_2)
    self.gridLayout.setObjectName("gridLayout")
    self.plainTextEdit = QtWidgets.QPlainTextEdit(self.tab_2)
    self.plainTextEdit.viewport().setProperty("cursor", QtGui.QCursor(QtCore.Qt.ForbiddenCursor))
    self.plainTextEdit.setObjectName("plainTextEdit")
    self.gridLayout.addWidget(self.plainTextEdit, 0, 0, 5, 1)
    self.pushButton_3 = QtWidgets.QPushButton(self.tab_2)
    self.pushButton_3.setMinimumSize(QtCore.QSize(0, 31))
    self.pushButton_3.setMaximumSize(QtCore.QSize(1369, 31))
    self.pushButton_3.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
    self.pushButton_3.setStyleSheet("QPushButton {\n"
    " background-color: #FFAA00;\n"
    "}\n"
    "QPushButton:hover {\n"
    " background-color: white;\n"
    "}\n"
    "QPushButton:pressed {\n"
    " color: #626AB0;\n"
    " background-color: #D5D4D4;\n"
    "}")
    self.pushButton_3.setObjectName("pushButton_3")
    self.gridLayout.addWidget(self.pushButton_3, 0, 1, 1, 1)
    self.pushButton = QtWidgets.QPushButton(self.tab_2)
    self.pushButton.setMinimumSize(QtCore.QSize(133, 31))
    self.pushButton.setMaximumSize(QtCore.QSize(133, 31))
    self.pushButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
    self.pushButton.setStyleSheet("QPushButton {\n"
    " background-color: #54e346;\n"
    "}\n"
    "QPushButton:hover {\n"
    " background-color: white;\n"
    "}\n"
    "QPushButton:pressed {\n"
    " color: #626AB0;\n"
    " background-color: #D5D4D4;\n"
    "}")
    self.pushButton.setObjectName("pushButton")
    self.gridLayout.addWidget(self.pushButton, 0, 2, 1, 1)
    spacerItem = QtWidgets.QSpacerItem(75, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.gridLayout.addItem(spacerItem, 0, 3, 1, 1)
    self.tableWidget = QtWidgets.QTableWidget(self.tab_2)
    self.tableWidget.setMinimumSize(QtCore.QSize(291, 0))
    self.tableWidget.setMaximumSize(QtCore.QSize(1369, 16777215))
    self.tableWidget.setStyleSheet("background-color: #b2b2b2;")
    self.tableWidget.setObjectName("tableWidget")
    self.tableWidget.setColumnCount(2)
    self.tableWidget.setRowCount(1)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setVerticalHeaderItem(0, item)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(0, item)
    item = QtWidgets.QTableWidgetItem()
    self.tableWidget.setHorizontalHeaderItem(1, item)
    self.gridLayout.addWidget(self.tableWidget, 1, 1, 4, 1)
    self.pushButton_2 = QtWidgets.QPushButton(self.tab_2)
    self.pushButton_2.setMinimumSize(QtCore.QSize(0, 31))
    self.pushButton_2.setMaximumSize(QtCore.QSize(133, 31))
    self.pushButton_2.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
    self.pushButton_2.setStyleSheet("QPushButton {\n"
    " background-color: #00b8ef;\n"
    "}\n"
    "QPushButton:hover {\n"
    " background-color: white;\n"
    "}\n"
    "QPushButton:pressed {\n"
    " color: #626AB0;\n"
    " background-color: #D5D4D4;\n"
    "}")
    self.pushButton_2.setObjectName("pushButton_2")
    self.gridLayout.addWidget(self.pushButton_2, 1, 2, 1, 1)
    spacerItem1 = QtWidgets.QSpacerItem(54, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.gridLayout.addItem(spacerItem1, 1, 3, 2, 1)
    self.pushButton_5 = QtWidgets.QPushButton(self.tab_2)
    self.pushButton_5.setMinimumSize(QtCore.QSize(0, 31))
    self.pushButton_5.setMaximumSize(QtCore.QSize(133, 31))
    self.pushButton_5.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
    self.pushButton_5.setStyleSheet("QPushButton {\n"
    " background-color: #00b8ef;\n"
    "}\n"
    "QPushButton:hover {\n"
    " background-color: white;\n"
    "}\n"
    "QPushButton:pressed {\n"
    " color: #626AB0;\n"
    " background-color: #D5D4D4;\n"
    "}")
    self.pushButton_5.setObjectName("pushButton_5")
    self.gridLayout.addWidget(self.pushButton_5, 2, 2, 1, 1)
    spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
    self.gridLayout.addItem(spacerItem2, 3, 2, 1, 1)
    spacerItem3 = QtWidgets.QSpacerItem(153, 243, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.gridLayout.addItem(spacerItem3, 4, 2, 1, 2)
    self.tabWidget.addTab(self.tab_2, "")
    self.tab_3 = QtWidgets.QWidget()
    self.tab_3.setObjectName("tab_3")
    self.gridLayout_2 = QtWidgets.QGridLayout(self.tab_3)
    self.gridLayout_2.setObjectName("gridLayout_2")
    self.label = QtWidgets.QLabel(self.tab_3)
    font = QtGui.QFont()
    font.setPointSize(11)
    font.setBold(False)
    font.setWeight(50)
    self.label.setFont(font)
    self.label.setObjectName("label")
    self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1)
    self.label_2 = QtWidgets.QLabel(self.tab_3)
    font = QtGui.QFont()
    font.setPointSize(11)
    font.setBold(False)
    font.setWeight(50)
    self.label_2.setFont(font)
    self.label_2.setObjectName("label_2")
    self.gridLayout_2.addWidget(self.label_2, 0, 2, 1, 1)
    spacerItem4 = QtWidgets.QSpacerItem(285, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.gridLayout_2.addItem(spacerItem4, 0, 4, 1, 1)
    self.comboBox = QtWidgets.QComboBox(self.tab_3)
    self.comboBox.setMinimumSize(QtCore.QSize(161, 31))
    self.comboBox.setObjectName("comboBox")
    self.gridLayout_2.addWidget(self.comboBox, 1, 0, 1, 2)
    self.comboBox_2 = QtWidgets.QComboBox(self.tab_3)
    self.comboBox_2.setMinimumSize(QtCore.QSize(69, 31))
    self.comboBox_2.setObjectName("comboBox_2")
    self.gridLayout_2.addWidget(self.comboBox_2, 1, 2, 1, 1)
    self.pushButton_4 = QtWidgets.QPushButton(self.tab_3)
    self.pushButton_4.setMinimumSize(QtCore.QSize(133, 31))
    self.pushButton_4.setMaximumSize(QtCore.QSize(133, 31))
    self.pushButton_4.setStyleSheet("QPushButton {\n"
    " background-color: #54e346;\n"
    "}\n"
    "QPushButton:hover {\n"
    " background-color: white;\n"
    "}\n"
    "QPushButton:pressed {\n"
    " color: #626AB0;\n"
    " background-color: #D5D4D4;\n"
    "}")
    self.pushButton_4.setObjectName("pushButton_4")
    self.gridLayout_2.addWidget(self.pushButton_4, 1, 3, 1, 1)
    spacerItem5 = QtWidgets.QSpacerItem(285, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    self.gridLayout_2.addItem(spacerItem5, 1, 4, 1, 1)
    spacerItem6 = QtWidgets.QSpacerItem(20, 297, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
    self.gridLayout_2.addItem(spacerItem6, 2, 1, 1, 1)
    self.tabWidget.addTab(self.tab_3, "")
    self.gridLayout_3.addWidget(self.tabWidget, 0, 0, 1, 1)
    MainWindow.setCentralWidget(self.centralwidget)
    self.menubar = QtWidgets.QMenuBar(MainWindow)
    self.menubar.setGeometry(QtCore.QRect(0, 0, 818, 21))
    self.menubar.setObjectName("menubar")
    MainWindow.setMenuBar(self.menubar)
    self.statusbar = QtWidgets.QStatusBar(MainWindow)
    self.statusbar.setObjectName("statusbar")
    MainWindow.setStatusBar(self.statusbar)
    self.action123 = QtWidgets.QAction(MainWindow)
    self.action123.setObjectName("action123")
    self.action123_2 = QtWidgets.QAction(MainWindow)
    self.action123_2.setObjectName("action123_2")

        self.retranslateUi(MainWindow)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Администрирование"))
        self.pushButton_6.setText(_translate("MainWindow", "Add"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Мониторинг"))
        self.plainTextEdit.setToolTip(_translate("MainWindow", "Лог панель"))
        self.pushButton_3.setToolTip(_translate("MainWindow", "Изменение ip и данных"))
        self.pushButton_3.setText(_translate("MainWindow", "Настройка ip"))
        self.pushButton.setToolTip(_translate("MainWindow", "Пинг старт/стоп"))
        self.pushButton.setText(_translate("MainWindow", "Start"))
        item = self.tableWidget.verticalHeaderItem(0)
        item.setText(_translate("MainWindow", "1"))
        item = self.tableWidget.horizontalHeaderItem(0)
        item.setText(_translate("MainWindow", "ip"))
        item = self.tableWidget.horizontalHeaderItem(1)
        item.setText(_translate("MainWindow", "Улица"))
        self.pushButton_2.setToolTip(_translate("MainWindow", "Отчистить поле лог панели"))
        self.pushButton_2.setText(_translate("MainWindow", "Clear"))
        self.pushButton_5.setToolTip(_translate("MainWindow", "Обновить таблицу"))
        self.pushButton_5.setText(_translate("MainWindow", "Updae"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Пинг ip"))
        self.label.setText(_translate("MainWindow", "ip аддреса"))
        self.label_2.setText(_translate("MainWindow", "Порты"))
        self.pushButton_4.setText(_translate("MainWindow", "Подключиться"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Администрирование"))
        self.action123.setText(_translate("MainWindow", "123"))
        self.action123_2.setText(_translate("MainWindow", "123"))
    

    #import res_rc

    #Main
    #-----------------

    #!/usr/bin/env python 3

    from PyQt5 import QtCore, QtGui, QtWidgets
    from mysql.connector import connect, Error
    from Main_setings_ip import *
    from PyQt5.Qt import *
    import subprocess
    from des import *
    import sqlite3
    import random
    import mouse
    import time
    import sys
    import os

    #----------------------------------------------- 1 пинг
    class WorkThread(QtCore.QThread):
    threadSignal = QtCore.pyqtSignal(int, str, tuple)

    def __init__(self, dictIP):
        super().__init__()
        self.dictIP = dictIP
    
    def run(self):
        while True:
            for k, v in self.dictIP.items():
                if v[2] == 2:
                    response = subprocess.run(["ping", k, "-n", "1", "-w", "100"], shell=True,stdout=subprocess.PIPE)
                    response = response.returncode
                    self.msleep(1)
                    self.threadSignal.emit(response, k, v)
    

    #----------------------------------------------- 2 пинг
    class WorkThread_1(QtCore.QThread):
    threadSignal_1 = QtCore.pyqtSignal(int, str, tuple)

    def __init__(self, k, v):
        super().__init__()
        self.k_1 = k
        self.v_1 = v
    
    def run(self):
        response_1 = subprocess.run(["ping", self.k_1, "-n", "4", "-w", "100"], shell=True,stdout=subprocess.PIPE)
        response_1 = response_1.returncode
        self.msleep(1)
        self.threadSignal_1.emit(response_1, self.k_1, self.v_1)
    

    #------------------------------------------------

    Добавить метки

    Метки

    class Label(QLabel):
    clicked = QtCore.pyqtSignal(str, str)

    def __init__(
        self, 
        background=QColor("white"),
        parent=None
    ):
        super().__init__(parent)
        self._background = background
        self._change_stylesheet()
    
        self.setFixedSize(10, 10)
    
    @property
    def background(self):
        return self._background
    
    @background.setter
    def background(self, color):
        if self._background == color:
            return
        self._background = color
        self._change_stylesheet()
    
    def _change_stylesheet(self):
        qss = """QLabel {background-color:%s;
                        border-radius: 5px;
                        min-height: 10px;
                        max-height: 10px;
                        min-width: 10px;
                        max-width: 10px;
                        border-style: solid;
                        border-color: black;
                        border-width: 1px;}
               """ % (
            self.background.name(),
        )
        self.setStyleSheet(qss)
        
    def mousePressEvent(self, event):
        self.clicked.emit(self.objectName(), self.text())
    
        qss = """QLabel {background-color:%s;
                        border-radius: 5px;
                        min-height: 10px;
                        max-height: 10px;
                        min-width: 10px;
                        max-width: 10px;
                        border-style: solid;
                        border-color: white;
                        border-width: 1px;}
               """ % (
            self.background.name(),
        )
        self.setStyleSheet(qss)
    
    def mouseReleaseEvent(self, event):
        qss = """QLabel {background-color:%s;
                        border-radius: 5px;
                        min-height: 10px;
                        max-height: 10px;
                        min-width: 10px;
                        max-width: 10px;
                        border-style: solid;
                        border-color: black;
                        border-width: 1px;}
               """ % (
            self.background.name(),
        )
        self.setStyleSheet(qss)
    

    class MyWin(QtWidgets.QMainWindow):
    def init(self, parent=None):
    QtWidgets.QWidget.init(self, parent)
    self.ui = Ui_MainWindow()
    self.ui.setupUi(self)

        self.ui.pushButton.clicked.connect(self.startThread)
        self.ui.pushButton_2.clicked.connect(self.clear_plainText)
        #self.ui.pushButton_3.clicked.connect(self.setings_ip_window)
        #self.ui.pushButton_4.clicked.connect(self.connect_ip)
        self.ui.pushButton_5.clicked.connect(self.update_table)
        #self.ui.pushButton_6.clicked.connect() # <----
    
        self.thread = None
    
        self.ui.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
        self.ui.tableWidget.horizontalHeader().setMinimumSectionSize(0)
        self.ui.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
        self.ui.tableWidget.verticalHeader().setMinimumSectionSize(30)
        self.ui.plainTextEdit.setReadOnly(True)
    
        self.table_index = 0
        self.row_count = 1
        self.count = 0
    
        self.dictMove = {}
        self.tab()
    
        self.thread_1_list = []
        self.thread_1_num = 0
    
        self.dictLbls = {}
    
    def coordinate(self, response, iP):
        _lbl = self.dictLbls.get(iP)
        if not _lbl:
    
            lab = Label(parent=self.ui.tab)
            lab.clicked.connect(self.onClickLabel)
            lab.setObjectName(f"  {iP}")
            
            sqlite_connection = sqlite3.connect("News.db")
            cursor = sqlite_connection.cursor()
            sqlite_select_query = """SELECT Yi FROM ips WHERE ip = '{}'""".format(iP)
            cursor.execute(sqlite_select_query)
            records = cursor.fetchone()
            cursor.close()
            sqlite_connection.close()
    
            for row in records:
                lab.setText(f"   {row}")
    
            lab.move(* self.dictMove[iP])
            
            self.dictLbls[iP] = lab
        else:
            lab = _lbl
    
            if response == 1:
                if iP:
                    lab.background = QColor("#fa7f72")
                else:
                    lab.background = QColor("#ffaa00")
            else:
                lab.background = QColor("#54e346")
            
            lab.show()
    
    def onClickLabel(self, objName, text):
        self.ui.statusbar.showMessage(f'Вы кликнули: {objName}, {text}')
    
    def tab(self):
        # Подключение к БД
        sqlite_connection = sqlite3.connect("News.db")
        cursor = sqlite_connection.cursor()
        sqlite_select_query = """SELECT ip, Yi, x, y FROM ips"""
        cursor.execute(sqlite_select_query)
        records = cursor.fetchall()
        cursor.close()
        sqlite_connection.close()
    
    
        self.dictMove = { ip: (x, y) for ip, yi, x, y in records}
    
        # Перебор ip адресов
        for row, value in enumerate(records):
            self.ui.tableWidget.setRowCount(self.row_count)
            item = QtWidgets.QTableWidgetItem(str(value[0]))
            item_2 = QtWidgets.QTableWidgetItem(str(value[1]))
            item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
            item.setCheckState(QtCore.Qt.Checked)
            self.ui.tableWidget.setItem(row, 0, item)
            self.ui.tableWidget.setItem(row, 1, item_2)
            self.row_count += 1
    
    def clear_plainText(self):
        self.ui.plainTextEdit.clear()
       
    def startThread(self):
        dictIP = {}
    
        [lbl.hide() for lbl in self.dictLbls.values()]
        self.dictLbls = {}
    
        for row in range(self.ui.tableWidget.rowCount()):
            item = self.ui.tableWidget.item(row, 0)
            item_2 = self.ui.tableWidget.item(row, 1)
            if item.checkState():
                item.setBackground(QtGui.QColor("white"))
                item_2.setBackground(QtGui.QColor("white"))
            else:
                item.setBackground(QtGui.QColor("#b2b2b2"))
                item_2.setBackground(QtGui.QColor("#b2b2b2"))
            dictIP[item.text()] = (row, 0, item.checkState())
    
        if self.thread is None:
            self.thread = WorkThread(dictIP)
            self.thread.threadSignal.connect(self.on_threadSignal)
            self.thread.threadSignal.connect(self.coordinate)
            self.thread.start()
            self.ui.pushButton.setText("Stop thread")
    
            style_stop = """QPushButton {
                         background-color: #fa7f72;
                         }
                         QPushButton:hover {
                         background-color: white;
                         }
                         QPushButton:pressed {
                         color: #626AB0;
                         background-color: #D5D4D4;
                         }"""
    
            self.ui.pushButton.setStyleSheet(style_stop)
        else:
            self.thread.terminate()
            self.thread = None
            self.ui.pushButton.setText("Start thread")
    
            style_start = """QPushButton {
                         background-color: #54e346;
                         }
                         QPushButton:hover {
                         background-color: white;
                         }
                         QPushButton:pressed {
                         color: #626AB0;
                         background-color: #D5D4D4;
                         }"""
    
            self.ui.pushButton.setStyleSheet(style_start)
    

    #----------------------------------------------- условия
    def on_threadSignal(self, response, k, v):
    #print(response, k, v)
    item = self.ui.tableWidget.item(v[0], v[1])
    item_2 = self.ui.tableWidget.item(v[0], v[1]+1)
    #item.setCheckState(QtCore.Qt.Checked)
    if response == 1:
    thread_1 = WorkThread_1(k, v)
    self.thread_1_list.append(thread_1)
    self.thread_1_list[self.thread_1_num].threadSignal_1.connect(self.on_threadSignal_1)
    self.thread_1_list[self.thread_1_num].threadSignal_1.connect(self.coordinate)
    self.thread_1_list[self.thread_1_num].start()
    self.thread_1_num += 1
    else:
    item.setBackground(QtGui.QColor("#54e346"))
    item_2.setBackground(QtGui.QColor("#54e346"))
    #-----------------------------------------------

    def on_threadSignal_1(self, response_1, k_1, v_1):
        #print(response_1, k_1, v_1)
        item_1 = self.ui.tableWidget.item(v_1[0], v_1[1])
        item_2 = self.ui.tableWidget.item(v_1[0], v_1[1]+1)
        #item_1.setCheckState(QtCore.Qt.Checked)
        if response_1:
            item_1.setBackground(QtGui.QColor("#fa7f72"))
            item_2.setBackground(QtGui.QColor("#fa7f72"))
    
            sqlite_connection = sqlite3.connect("News.db")
            cursor = sqlite_connection.cursor()
            sqlite_select_query = """SELECT * FROM ips WHERE ip = '{}'""".format(k_1)
            cursor.execute(sqlite_select_query)
            records = cursor.fetchall()
            cursor.close()
            sqlite_connection.close()
    
            for row in records:
                self.ui.plainTextEdit.appendPlainText(f'{k_1} | {row[1]} | {row[2]}\n{row[3]}\n')
    
        else:
            item_1.setBackground(QtGui.QColor("#C10020"))
            item_2.setBackground(QtGui.QColor("#C10020"))
    
    def update_table(self):
        sqlite_connection = sqlite3.connect("News.db")
        cursor = sqlite_connection.cursor()
        sqlite_select_query = """SELECT ip FROM ips"""
        records = cursor.fetchall()
        cursor.close()
        sqlite_connection.close()
    
        table_index = self.ui.tableWidget.rowCount()
        self.ui.tableWidget.insertRow(table_index)
        
        if len(records) == table_index:
            self.ui.tableWidget.setRowCount(table_index)
        elif len(records) > table_index:
            con = len(records) - table_index
            self.ui.tableWidget.clearContents()
            self.tab()
            self.ui.tableWidget.setRowCount(table_index + con)
        elif len(records) < table_index:
            con = table_index - len(records)
            self.ui.tableWidget.clearContents()
            self.tab()
            self.ui.tableWidget.setRowCount(table_index - con)
    

    if name == 'main':
    app = QtWidgets.QApplication(sys.argv)
    myapp = MyWin()
    myapp.show()
    sys.exit(app.exec_())


    OBD to him -

    import sqlite3

    Добавление данных в таблицы

    try:
    connect = sqlite3.connect("News.db")
    cursor = connect.cursor()
    print("База данных подключена к SQLite")

    cursor.execute("""CREATE TABLE IF NOT EXISTS ips(
                      id INTEGER,
                      ip INTEGER,
                      Gor TEXT,
                      Yi TEXT,
                      Location TEXT,
                      x INTEGER,
                      y INTEGER);""")
    
    connect.commit()
    
    records = [[f"{i}", f"192.168.{i}.9", "None", "None", "None", f"{i}", f"{i}"] for i in range(1, 11)]
    cursor.executemany("INSERT INTO ips VALUES (?, ?, ?, ?, ?, ?, ?)", records)
    connect.commit()
    
    print("Запись успешно добавлена")
    cursor.close()
    

    except sqlite3.Error as error:
    print("Ошибка при работе с SQLite", error)

    finally:
    if connect:
    connect.close()
    print("Соединение с SQLite закрыто")


    And this code with it needs to be matched--

    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.Qt import *

    class Label(QtWidgets.QLabel):
    def init(self, parent):
    super().init()
    self.parent = parent

    def mousePressEvent(self, event):
        print(f'def mousePressEvent(self, event): {event.pos()}')
        
    def mouseMoveEvent(self, event):
        if (event.buttons() == Qt.LeftButton): 
            print(f'def mouseMoveEvent(self, event): {event.pos()}') #
    
    def mouseReleaseEvent(self, event):
        if event.button() == Qt.LeftButton and self.parent.flag:
            self._pos = event.pos()
            print(f'def mouseReleaseEvent(self, event): {event.pos()} <----') 
            
            self.parent.label_pos.setText(
                f"<b style='color: #fff'>.</b> x:{self._pos.x()}, y:{self._pos.y()}")
            self.parent.label_pos.move(self._pos.x(), self._pos.y())
            self.parent.label_pos.adjustSize()
            self.parent.flag = False
    

    class MainWindow(QtWidgets.QWidget):
    def init(self):
    super().init()

        self.flag = False
        
        self.label = Label(self)
        self.label.setFixedSize(570, 316)
        self.label.setPixmap(QtGui.QPixmap("image1.png"))
        
        self.label_pos = QLabel(self.label)
        
        self.pushButton = QtWidgets.QPushButton('Add', self.label)
        self.pushButton.move(10, 10)
        self.pushButton.clicked.connect(self.func_connect)
    
        grid = QtWidgets.QGridLayout(self)
        grid.addWidget(self.label)
    
    def func_connect(self):
        self.flag = True
        self.pushButton.setEnabled(False)
    

    if name == "main":
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

    That's the code that needs to be matched when you press the button. self.ui.pushButton_6



  • Main code:

    • Add the import of windows that need to be combined. I called this module. q1349966_2.py:

    from q1349966_2 import MainWindow as Window_2 # +++

    • Connect the signal to the elephant:

    self.ui.pushButton_6.clicked.connect(self.pushButton_6_clicked) # <---

    • Add the slot:

    def pushButton_6_clicked(self):
    self.window_2 = Window_2()
    self.window_2.show()

    • Everything.

    q1349966_2.py

    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.Qt import *
    

    class Label(QtWidgets.QLabel):
    def init(self, parent):
    super().init()
    self.parent = parent

    def mousePressEvent(self, event):
        print(f'def mousePressEvent(self, event): {event.pos()}')
        
    def mouseMoveEvent(self, event):
        if (event.buttons() == Qt.LeftButton): 
            print(f'def mouseMoveEvent(self, event): {event.pos()}') #
    
    def mouseReleaseEvent(self, event):
        if event.button() == Qt.LeftButton and self.parent.flag:
            self._pos = event.pos()
            print(f'def mouseReleaseEvent(self, event): {event.pos()} &lt;----') 
            
            self.parent.label_pos.setText(
                f"&lt;b style='color: #fff'&gt;.&lt;/b&gt; x:{self._pos.x()}, y:{self._pos.y()}")
            self.parent.label_pos.move(self._pos.x(), self._pos.y())
            self.parent.label_pos.adjustSize()
            self.parent.flag = False
    

    class MainWindow(QtWidgets.QWidget):
    def init(self):
    super().init()

        self.flag = False
        
        self.label = Label(self)
        self.label.setFixedSize(570, 316)
        self.label.setPixmap(QtGui.QPixmap("image1.png"))
        
        self.label_pos = QLabel(self.label)
        
        self.pushButton = QtWidgets.QPushButton('Add', self.label)
        self.pushButton.move(10, 10)
        self.pushButton.clicked.connect(self.func_connect)
    
        grid = QtWidgets.QGridLayout(self)
        grid.addWidget(self.label)
    
    def func_connect(self):
        self.flag = True
        self.pushButton.setEnabled(False)
    

    if name == "main":
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())


    введите сюда описание изображения



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2