1 / 1 / 2
Регистрация: 03.04.2013
Сообщений: 48

При выводе окна формы не срабатывает активация кнопки

08.05.2018, 10:08. Показов 1747. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Не получается сделать активной кнопку при загрузке основного окна формы если выполняется определенное условие. Само условие отрабатывается но кнопка все равно не активна.

Сама форма:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'test_form.ui'
#
# Created by: PyQt5 UI code generator 5.5.1
#
# WARNING! All changes made in this file will be lost!
 
from PyQt5 import QtCore, QtGui, QtWidgets
 
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(192, 236)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setEnabled(False)
        self.pushButton.setGeometry(QtCore.QRect(60, 100, 88, 28))
        self.pushButton.setObjectName("pushButton")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(60, 40, 111, 51))
        self.label.setObjectName("label")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(60, 150, 88, 28))
        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", "PushButton"))
        self.label.setText(_translate("MainWindow", "TextLabel"))
        self.pushButton_2.setText(_translate("MainWindow", "Ok"))
Сама программа
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
 
import sys  # sys нужен для передачи argv в QApplication
 
from PyQt5 import QtWidgets
from slot import May_Slots
 
import gui, os
 
 
class MainWindow(May_Slots):
    def __init__(self, form):
        self.setupUi(form)
        self.connect_slots()
 
    def connect_slots(self):
        self.pushButton_2.clicked.connect(self.set_But2)
        return None
 
 
class ExampleApp(QtWidgets.QMainWindow, gui.Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
 
def main():
    app = QtWidgets.QApplication(sys.argv)
    window = ExampleApp()
    ui = MainWindow(window)
    window.show()
 
    k = 100
    if k == 100:   #проверка условия на активацию кнопки
        print('test')
        window.pushButton.setEnabled(True)  #<===== не срабатывает!!!!!!!!!
 
    sys.exit(app.exec_())
 
 
if __name__ == '__main__':
    main()
Вынесенные отдельно обработчики кнопок
Python
1
2
3
4
5
6
7
8
9
#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
 
from gui import Ui_MainWindow
 
class May_Slots(Ui_MainWindow):
 
    def set_But2(self):
        self.pushButton.setEnabled(True)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2018, 10:08
Ответы с готовыми решениями:

Активация растягивания окна при наведении на край кнопки
Здравствуйте, подскажите, пожалуйста, есть ли более человеческий способ реализации данной идеи: имеется кнопка Close в TitleBar, стиль окна...

Активация окна при нажатии левой кнопки мыши
Учу python по книге. Предоставили код для простой игры &quot;Прыг-скок&quot;, где мяч отскакивает от платформы. В первом упражнении требуется...

Активация кнопки при попытке редактирования формы
Прошу помочь, сам новичок в языке java script, буду благодарен за помощь:) есть форма, на ней 4 элемента textarea и один элемент select и...

2
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
08.05.2018, 10:23
Как-то вы тут наворотили много чего, вот так сработает, но нужно упростить

Python
1
2
3
4
5
6
7
8
9
10
11
12
def main():
    app = QtWidgets.QApplication(sys.argv)
    window = ExampleApp()
    ui = MainWindow(window)
    window.show()
 
    k = 100
    if k == 100:   #проверка условия на активацию кнопки
        print('test')
        ui.pushButton.setEnabled(True)  #<===== не срабатывает!!!!!!!!!
 
    sys.exit(app.exec_())
1
1 / 1 / 2
Регистрация: 03.04.2013
Сообщений: 48
08.05.2018, 10:49  [ТС]
Спасибо.
Это не я, с хабра вроде такой пример стянул чтоб коннекторы вынесены были отдельно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.05.2018, 10:49
Помогаю со студенческими работами здесь

При открытии дочернего окна, отображаются формы и кнопки с основного окна; как исправить?
при открытии дочернего окна, отображаются формы и кнопки с основного окна, как можно исправить? ...

Активация кнопки окна регистрации
Добрый. Есть окно с формой регистрации пользователя, которая состоит из ряда TextBox'ов, для каждого из которых я предусмотрел валидацию: ...

Активация кнопки, верхняя панель окна
Учусь работать с делфи. Понемногу разбираюсь. Собрал небольшую программку.. Теперь вопрос: как сделать так, чтобы кнопка Close Или...

Активация окна формы
Уважаемые знатоки! Подскажите как активировать окно формы после завершения исполнения по нажатию кнопки. Дело в том, что при открытии...

Открытие нового окна формы при нажатии кнопки
Подскажите пожалуйста, как реализовать открытие нового окна формы, при нажатии кнопки на предыдущей форме?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru