Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 14, 2020 20:39:43

Kadony
Зарегистрирован: 2020-02-01
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Как задавать событие кнопкам в меню??

 from PyQt5 import QtCore, QtGui, QtWidgets
[b]ЭТО МЕНЮ[/b]
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(485, 195)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(10, 110, 151, 61))
        self.pushButton.setObjectName("pushButton")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(30, 20, 113, 20))
        self.lineEdit.setObjectName("lineEdit")
        self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox.setGeometry(QtCore.QRect(10, 50, 81, 17))
        self.checkBox.setObjectName("checkBox")
        self.checkBox_2 = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox_2.setGeometry(QtCore.QRect(100, 50, 70, 17))
        self.checkBox_2.setObjectName("checkBox_2")
        self.checkBox_3 = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox_3.setGeometry(QtCore.QRect(40, 70, 101, 17))
        self.checkBox_3.setObjectName("checkBox_3")
        self.comboBox = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox.setGeometry(QtCore.QRect(340, 90, 111, 22))
        self.comboBox.setObjectName("comboBox")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(340, 70, 111, 20))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(340, 40, 111, 23))
        self.pushButton_2.setObjectName("pushButton_2")
        MainWindow.setCentralWidget(self.centralwidget)
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "Рыбалка"))
        self.lineEdit.setText(_translate("MainWindow", "Скорость рыбалки:"))
        self.checkBox.setText(_translate("MainWindow", "медленная"))
        self.checkBox_2.setText(_translate("MainWindow", "быстрая"))
        self.checkBox_3.setText(_translate("MainWindow", "НЕВЫНОСИМАЯ"))
        self.comboBox.setItemText(0, _translate("MainWindow", "2560к1440"))
        self.comboBox.setItemText(1, _translate("MainWindow", "2560к1080"))
        self.comboBox.setItemText(2, _translate("MainWindow", "1920к1080"))
        self.comboBox.setItemText(3, _translate("MainWindow", "1680к1050"))
        self.comboBox.setItemText(4, _translate("MainWindow", "1600к900"))
        self.comboBox.setItemText(5, _translate("MainWindow", "1440к900"))
        self.comboBox.setItemText(6, _translate("MainWindow", "1400к1050"))
        self.comboBox.setItemText(7, _translate("MainWindow", "1366к768"))
        self.comboBox.setItemText(8, _translate("MainWindow", "1360к768"))
        self.comboBox.setItemText(9, _translate("MainWindow", "1280к1024"))
        self.comboBox.setItemText(10, _translate("MainWindow", "1280к720"))
        self.lineEdit_2.setText(_translate("MainWindow", "Разрешения"))
        self.pushButton_2.setText(_translate("MainWindow", "TG - @Kovshik99"))
Это вызов меню
 from PyQt5 import QtWidgets
from untitled import Ui_MainWindow  # вызываю меню
import sys
 
 
class mywindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
 
 
app = QtWidgets.QApplication([])
application = mywindow()
application.show()
 
sys.exit(app.exec())

https://imgur.com/a/CuHNW3T

Вот картинка меню , теперь вопрос как мне воспроизводить цикл рыбалки по нажатию кнопки рыбалка??
Могу ли я сделать так чтобы если стоит галочка на выбранной скорости менялось лишь значение кликов
 x = 1
while x < 2:
	pyautogui.click(x=550, y=540, clicks=4)
	time.sleep(2)
	pyautogui.press('i')
	if inventory() == (262, 95, 28):
		x += 1
	else:
		time.sleep(2)
		pyautogui.click(x=550, y=414, interval=0.5)
		pyautogui.click(x=550, y=532, interval=0.5)
		while check() != (78, 255, 0):
			if get_pixel_colour() == (255, 0, 0):
				time.sleep(0.5)
				pyautogui.click(x=1053, y=903, clicks=3200) #вот это значение
в этом коде

Если я правильно понял я как то должен связать три пункта событие , функцию и кнопку

QtWidgets.bind(Button-1,fishing) - вот я обратился к кнопке , если по ней произошло нажатие левой кнопкой то вызывается функция рыбалки, даже если это правильно то куда это записывать??

Отредактировано Kadony (Фев. 14, 2020 21:37:43)

Офлайн

#2 Фев. 15, 2020 02:17:55

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Как задавать событие кнопкам в меню??


QtWidgets.bind(Button-1,fishing)
В pyqt это делается иначе, а то что вы описали похоже на работу в Tkinter

здесь можно пойти двумя путями, самый простой - лезем в документацию qt и смотрим какие сигналы имеются у виджета, например для подключения QPushButton чаще всего используется сигнал clicked например так

 butt = QPushButton()
butt.clicked.connect(имя_функции_которую_вызывать)

если речь идет о QAction то у него таким-же способом чаще всего используется сигнал triggered

если надо отключить функцию не выключая саму кнопку то connect меняете на disconnect

второй путь это вам надо унаследоваться от выбранного вами виджета и в вашем классе переопределить некоторые функции которые будут автоматически вызваны когда произойдет событие, здесь опять-же надо смотреть какие события есть у выбранного вами виджета, как правило названия их обработчиков имеют слово *Event в своем составе, например contextMenuEvent(QContextMenuEvent *event)



Отредактировано @cckyi_boxxx (Фев. 15, 2020 02:20:19)

Офлайн

#3 Фев. 20, 2020 19:24:15

Kadony
Зарегистрирован: 2020-02-01
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Как задавать событие кнопкам в меню??

Помогите , как это исправить
https://imgur.com/a/a4y163N
на скринах ошибки

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version