如何通过pyqt5按钮启动功能的多个实例?

耐克斯

嘿,我写了一个小小的AutoBuy Bot。GUI是在PYQT5中制作的。

我有一个按钮,它调用带有几个参数的函数。我遇到的问题是

  1. 主窗口冻结
  2. 出现问题nr1我无法多次单击按钮来多次触发该功能。(我想多次启动它)

我真的需要一些帮助。

我的按钮:

        self.buttonSoleBox = QPushButton('Start Bot', self)
        self.buttonBox.move(20, 120)
        self.buttonBox.clicked.connect(self.on_click)

和“我的按钮”操作功能:

    def on_click(self):

        email = self.textbox.text()
        password = self.textbox1.text()
        aid = self.textbox2.text()
        payment = self.textbox4.text()
        paypalemail = self.textbox5.text()
        paypalpassword = self.textbox6.text()
        StartBotFunction(email, password, aid, payment, paypalemail, paypalpassword)

        self.textbox.setText("")
        self.textbox1.setText("")
        self.textbox2.setText("")
        self.textbox4.setText("")
        self.textbox5.setText("")
        self.textbox6.setText("")

用于测试:2个文件:

main.py

from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QLineEdit, QLabel, QComboBox
from PyQt5 import QtGui
from selenium import webdriver
import sys

class App(QMainWindow):

    def __init__(self):
        super(App,self).__init__()
        self.title = 'whatever'
        self.left = 200
        self.top = 200
        self.width = 800
        self.height = 500
        self.setWindowIcon(QtGui.QIcon('icon.png'))
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        self.initUI()

    def initUI(self):

        self.button1 = QPushButton('Start Bot', self)
        self.button1.move(20, 120)
        self.button1.clicked.connect(self.on_click)

        self.show()


    def on_click(self):
        word = "sneaker"
        StartBotFunction(word)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())



search.py

from selenium import webdriver
import time

def StartBotFunction(word):
    word
    driver = webdriver.Chrome()
    driver.get('https://www.zalando.de/herren/?q=' + word )

    first = driver.find_element_by_xpath('//*[@id="z-nvg-cognac-root"]/div[1]/z-grid/z-grid-item[2]/div/div[5]/z-grid/z-grid-item[1]/div/a')
    first.click()


    while (driver.page_source).__contains__('Bewertung'):
        time.sleep(5)
        driver.refresh()

在为您构建该示例时,我发现我这样做时遇到了主要问题,如果我删除了while的东西,则可以创建与我单击按钮一样多的chromewindows

任何想法如何解决?

while (driver.page_source).__contains__('Bewertung'):
time.sleep(5)
driver.refresh()```
永乐

您必须在另一个线程中运行StartBotFunction:

import sys
import threading

from PyQt5 import QtCore, QtWidgets

import search


class Widget(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super(Widget, self).__init__(parent)
        self.lineedit = QtWidgets.QLineEdit("sneaker", placeholderText="word")
        button = QtWidgets.QPushButton("Press me")
        button.clicked.connect(self.on_click)

        flay = QtWidgets.QFormLayout(self)
        flay.addRow("Insert word:", self.lineedit)
        flay.addRow(button)

    @QtCore.pyqtSlot()
    def on_click(self):
        word = self.lineedit.text()
        threading.Thread(target=search.StartBotFunction, args=(word,)).start()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PyQt5多个按钮和1个更改按钮文本的功能

来自分类Dev

PyQt5 如何在主 Ui 中实例化多个 Ui

来自分类Dev

PyQt5:同一窗口的多个实例

来自分类Dev

PyQt5按钮运行功能并更新LCD

来自分类Dev

为 PyQt5 QGroupBox 中的按钮添加功能

来自分类Dev

多个按钮在 PyQt5 python 中不起作用

来自分类Dev

如何对pyqt5中的按钮单击做出反应

来自分类Dev

如何找到在PyQt5中按下的按钮

来自分类Dev

PyQt5:如何使按钮在单击后关闭 gui

来自分类Dev

PyQt5:如何通过QPushButton重新停靠浮动QDockWidget?

来自分类Dev

Unity 5:如何通过检查器传递按钮单击功能的多个参数?

来自分类Dev

PyQt5按钮未连接

来自分类Dev

PyQt5按钮单击动画

来自分类Dev

PyQt5 中的问号按钮

来自分类Dev

PyQt5 Qtablewidget 并连接到按钮

来自分类Dev

如何安装PyQt5

来自分类Dev

PyQt5检索在开环中创建的多个按钮的ID和值

来自分类Dev

在PyQt5中串联多个QSplitter

来自分类Dev

PyQT5:如何使用单选按钮的状态将其变灰并禁用行编辑

来自分类Dev

如何在PyQt5中单击按钮来设置要编辑的项目

来自分类Dev

如何在pyqt5中创建类似于计算器的按钮网格

来自分类Dev

如果不遵守条件,如何禁用下一个按钮PyQt5 QWizard?

来自分类Dev

PyQT5 + Python。按下按钮时如何调用脚本?

来自分类Dev

如何在不单击pyqt5中的按钮的情况下计算值?

来自分类Dev

如何使用 Python、PyQt5 和 Pyinstaller 修复未正确显示的按钮

来自分类Dev

如何从pyqt5中的单选按钮获取选中的组收音机的ID

来自分类Dev

PyQT5:如何在表单行中将按钮与行编辑对齐?

来自分类Dev

我如何通过鼠标单击PyQT5 QWebView来获取DOM元素

来自分类Dev

如何在 PyQt5 中通过两个窗口来回切换

Related 相关文章

热门标签

归档