Akmal Bukhariev Ответов: 0

Используйте слот qt для нескольких кнопок Python


Цитата:
Всем привет. Я делаю калькулятор с помощью библиотеки Qt в Python и хочу создать слот для нескольких кнопок.Проблема в том, что функция clickNumberButton не работает. Пожалуйста, не могли бы вы просмотреть мой код. Где же моя ошибка? .. Спасибо


Если я использую соединение self.ui.pB0.clicked.connect(partial(self.clickNumberButton,'pB0')), как это работает.


Что я уже пробовал:

<pre>from CalcUI import Ui_Form
from PyQt5 import Qt
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import  QApplication, QWidget, QPushButton, QLineEdit
from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot
from functools import partial
import sys

class Calc(QObject):
     def __init__(self):
         self.app = QtWidgets.QApplication(sys.argv)
         self.widget = QtWidgets.QWidget()
         self.digit = 90
         self.ui = Ui_Form()
         self.ui.setupUi(self.widget)
         self.widget.setWindowTitle("Calculator")

         self.initConnection()
         self.widget.show()
         self.app.exec_()
    
     def initConnection(self):
         self.ui.pB0.clicked.connect(self.clickNumberButton)
         self.ui.pB1.clicked.connect(self.clickNumberButton)
         #self.ui.pB0.clicked.connect(partial(self.clickNumberButton,'pB0'))
         #self.ui.pB1.clicked.connect(partial(self.clickNumberButton,'pB1'))
         
     def clickNumberButton(self):
         print('click')
         
calcWidget = Calc()

Richard MacCutchan

В чем же проблема?

Akmal Bukhariev

Проблема в том, что функция clickNumberButton не работает.
Если я использую подключение &ГТ;&ГТ;самовыдвижение.пользовательского интерфейса.pB0.нажал.подключения(частичная(самовыдвижение.clickNumberButton,'pB0'))&ЛТ;&ЛТ; как это работает

Richard MacCutchan

Что "не действовать" значит?
Пожалуйста, объясните точно, что происходит или не происходит; мы не можем догадаться.

Akmal Bukhariev

когда я нажимаю ui.pB0 или ui.pB1 он не печатает "щелчок", это означает
пользовательского интерфейса.pB0.нажал.подключение не работает.
Если я использую соединение self.ui.pB0.clicked.connect(partial(self.clickNumberButton,'pB0')), как это работает

Richard MacCutchan

Мне очень жаль но "не действовать", и - это работает", ничего не значить.

Akmal Bukhariev

когда я нажимаю ui.pB0 или ui.pB1 он не печатает "щелчок", почему?

Я думаю, что прекрасно объяснил, что у вас нет опыта работы с Python. Извините сэр

Richard MacCutchan

Проверьте документацию для метода connect, так как кажется, что ему нужно имя кнопки. Это может быть что-то в системе QT.

Akmal Bukhariev

Хорошо спасибо сэр

0 Ответов