Найти - Пользователи
Полная версия: кнопки - переключатели
Начало » Python для новичков » кнопки - переключатели
1
BCnuHy
В программе есть несколько зажимаемых кнопок setCheckable(True).
как сделать так, чтобы при нажатии одной - отжималась другая?
Попробовал через
 self.bt_v_rabotu.pressed.connect(self.bt_pereriv.setEnabled(False))
, но ничего не выходит
 import time
import tkinter
import pandas as pd
from PyQt5 import uic, QtCore, QtGui, QtWidgets, QtTest
class PySide2:
    pass
class Ui_MainWindow(object):
#Создание главного окна:
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1200, 800) #1200, 800
        MainWindow.setToolTipDuration(-5)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
 #Кнопки:
        #Перерыв:
        self.bt_pereriv = QtWidgets.QPushButton(self.centralwidget)
        self.bt_pereriv.setGeometry(QtCore.QRect(180, 120, 180, 70))
        font = QtGui.QFont()
        font.setPointSize(12)
        font.setBold(False)
        font.setWeight(50)
        self.bt_pereriv.setFont(font)
        self.bt_pereriv.setAutoFillBackground(False)
        self.bt_pereriv.setCheckable(True)
        self.bt_pereriv.setObjectName("bt_pereriv")
        #В работу:
        self.bt_v_rabotu = QtWidgets.QPushButton(self.centralwidget)
        self.bt_v_rabotu.setGeometry(QtCore.QRect(0, 40, 180, 70))
        font = QtGui.QFont()
        font.setPointSize(12)
        font.setBold(False)
        font.setWeight(50)
        self.bt_v_rabotu.setFont(font)
        self.bt_v_rabotu.setAutoFillBackground(False)
        self.bt_v_rabotu.setCheckable(True)
        self.bt_v_rabotu.setObjectName("bt_v_rabotu")
#Поля:
        #Задача
        self.label_zadacha_name = QtWidgets.QLabel(self.centralwidget)
        self.label_zadacha_name.setGeometry(QtCore.QRect(60, 0, 151, 16))
        self.label_zadacha_name.setObjectName("label_zadacha_name")
  MainWindow.setCentralWidget(self.centralwidget)
    #Нажатие кнопок:
       
        self.retranslateUi(MainWindow)
        #Перерыв:
        self.bt_pereriv.pressed.connect(self.label_zadacha_name.clear)  # type: ignore
        self.bt_pereriv.pressed.connect(lambda: self.label_zadacha_name.setText("Перерыв"))
        #В работу:
        self.bt_v_rabotu.pressed.connect(self.label_zadacha_name.clear)  # type: ignore
        self.bt_v_rabotu.pressed.connect(lambda: self.label_zadacha_name.setText("В работе")
        self.bt_v_rabotu.pressed.connect(self.bt_pereriv.setEnabled(False)) # <---- вот здесь
Rodegast
См. вложение
BCnuHy
Rodegast
См. вложение
Спасибо огромное) в создании кнопок просто не хватало этих строк:
 self.bt_pereriv.setAutoExclusive(True)
 self.bt_v_rabotu.setAutoExclusive(True)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB