@EmPtIcON

Как переменной присвоить значения введённые в QLineEdit ( или в QSpinBox \QDoubleSpinBox) на PyQt6?

Цель - сделать автокликер на PyQt6, в котором, количество кликов будут вводится через QLineEdit или QSpinBox (QDoubleSpinBox), то есть, данные, введённые в QLineEdit или QSpinBox, должны присваиваться переменной, которая будет задавать количество кликов. Пробовал много способов, но ничего не получалось. Вот код:
import sys
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import (
    QApplication,
    QDoubleSpinBox,
    QLabel,
    QLineEdit,
    QMainWindow,
    QPushButton,
    QSpinBox,
    QVBoxLayout,
    QWidget,
)
import keyboard
import mouse
import time
m = 0
isClicking = False
                        # a123 - переменная, которая должна хранить в себе количество кликов
def set_clicker(a123):    # set_clicker - тело кликера

    m = 1
    while m <= a123:
        mouse.double_click(button='left')
        time.sleep(0.01)
        m = m + 1
        print(m)

keyboard.add_hotkey('*', set_clicker)

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("AutoClicker")
        l = QVBoxLayout()


        label = QLabel("Введите количество кликов")
        l.addWidget(label)
        label.setAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter)

        widget = QDoubleSpinBox()           # Здесь должен быть QLineEdit или QSpinBox\QDoubleSpinBox, в который будет вводится количество кликов и присваиваться в переменную a123
        l.addWidget(widget)
        widget.setMinimum(0)
        widget.setMaximum(99999999999999999999999)
        widget.setSingleStep(1)


        ilabel = QLabel("Нажми * или на кнопку чтобы запустить кликер")
        l.addWidget(label)
        ilabel.setAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter)


        button = QPushButton("Кликер запустится через 5 секунд после нажатия")
        button.setCheckable(True)
        button.clicked.connect(self.the_button_was_clicked)
        l.addWidget(button)


        self.setFixedSize(400, 100)
        w = QWidget()
        w.setLayout(l)
        self.setCentralWidget(w)

    def the_button_was_clicked(self, a123):       # При нажатии на кнопку, запускается кликер
        time.sleep(5)
        a123 = a123
        m = 0
        window.close()
        while m <= a123:
            mouse.double_click(button='left')
            time.sleep(0.01)
            m = m + 1
            print(a123)
            print(m)

app = QApplication(sys.argv)

window = MainWindow()
window.show()

app.exec()

Помогите, пожалуйста.
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы