0
私はPythonとPyQtの新機能です。問題をはっきりと記述することはできません。私は映画館の座席選択UIをやりたい、これは私が下に作ったコードです:私は複数回のボタンB1をクリックすると、問題は、プログラムがフリーズしますさPyQt - QPushButtonループ
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import (QWidget, QApplication)
class Ui2(QWidget):
def __init__(self):
super(Ui2, self).__init__()
uic.loadUi('seat.ui', self)
self.A1.setStyleSheet("background-color: red")
self.B1.clicked.connect(self.greenButton)
self.show()
def greenButton(self):
self.B1.setStyleSheet("background-color: green")
self.B1.clicked.connect(self.whiteButton)
def whiteButton(self):
self.B1.setStyleSheet("background-color: white")
self.B1.clicked.connect(self.greenButton)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Ui2()
sys.exit(app.exec_())
- 私はどこかにこれがあると、それを読んで完全な記憶によって引き起こされる。
また、これはボタンB1のみです。すべてのボタンで同じ機能を実装するにはどうすればよいですか?
ありがとうございます!
ありがとうございました!それは魅力のように働いた。また、各ボタンの機能を作成せずに、すべてのボタン(A1、A2、B1、B2など)でこの機能を使用するために必要なことを教えてください。 – pooroll
異なるウィジェットに同じタイプのイベントがあっても、常に各イベントに対して1つのイベントハンドラ関数を持つことを好みます。複数のハンドラに共通の機能がある場合は、別の方法にそれを考慮します。次に、各ハンドラからそのメソッドを呼び出します。ときにこの機能がほとんど機能しなくなることもありますが、パフォーマンス上の不利益はほとんどありません。コードは読みやすく理解しやすくなります。 –