Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 20
1

Запуск функции без нажатия кнопки

16.08.2019, 15:39. Показов 2249. Ответов 3

Author24 — интернет-сервис помощи студентам
Здравствуйте. Подскажите пожалуйста. Я создал в QT Designer 3 окошка.
1 - водится значение "а"
2 - значение "b" задано заранее
3 - выводится результат сложения значения (a+b)
Как сделать так чтобы функция запускалась при введение значении "а" автоматически, без использования "push button"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2019, 15:39
Ответы с готовыми решениями:

Периодический запуск не статического метода (без нажатия кнопки на форме)
Добрый день. После нажатия кнопки на форме запускаются несколько потоков (до 24), которые ведут...

Запуск функции после нажатия кнопки
Как мне запустить функцию после нажатия кнопки? На данный момент функция запускается при загрузке...

Как отправить все чекбоксыы без обновления страницы и без нажатия кнопки?
Нужно обновлять данные без перезагрузки и без нажатия кнопки на странице, пишу так: <form...

Запуск макрос без нажатия
Здравствуйте, подскажите пожалуйста, можно ли как-то сделать, чтобы при наведении на ячейку...

Запуск компьютера через 5 минут после нажатия кнопки запуска
компьютер запускается через 5 минут после нажатия кнопки запуска (и блок питания пищит когда...

3
Модератор
Эксперт Python
2689 / 1595 / 513
Регистрация: 21.02.2017
Сообщений: 4,209
Записей в блоге: 1
16.08.2019, 17:04 2
Есть несколько вариантов:

1) Переопределить событие focusOutEvent. (Будет считать при потери фокуса)
2) Переопределить обработку клавиши Enter. (Будет считать при нажатии Enter)
3) Создавать таймер. (Будет считать , когда таймер достигнет таймаута)

Добавлено через 10 минут
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
43
44
45
46
47
48
49
50
51
52
53
# -*- coding: utf-8 -*-
 
import sys
 
from PySide2.QtWidgets import QApplication, QWidget, QSpinBox
from PySide2.QtGui import QKeyEvent
from PySide2.QtCore import Qt, QTimer
 
 
class Example2(QSpinBox):
 
    def __init__(self, parent:QWidget=None)->None:
        QSpinBox.__init__(self, parent)
        self.setWindowTitle("Example2")
 
        self.__timer = QTimer(self)
        self.__timer.setSingleShot(True)
        self.__timer.timeout.connect(self.__calc)
 
        if not parent: self.show()
 
    def __calc(self):
        value = self.value() + 20
        self.setValue(value)
 
    def keyPressEvent(self, event:QKeyEvent)->None:
        if self.__timer.isActive():
            self.__timer.stop()
        self.__timer.start(2000)
        return QSpinBox.keyPressEvent(self, event)
 
class Example3(QSpinBox):
 
    def __init__(self, parent:QWidget=None)->None:
        QSpinBox.__init__(self, parent)
        self.setWindowTitle("Example3")
 
        if not parent: self.show()
 
    def __calc(self):
        value = self.value() + 20
        self.setValue(value)
 
    def keyPressEvent(self, event:QKeyEvent)->None:
        if event.key() == Qt.Key_Enter:
            self.__calc()
        return QSpinBox.keyPressEvent(self, event)
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    example2 = Example2()
    example3 = Example3()
    sys.exit(app.exec_())
1
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 20
18.08.2019, 10:54  [ТС] 3
Я применил немного другой подход:
Python
1
self.ui.lineEdit_8.textChanged[str].connect(self.top)
Добавлено через 1 минуту
Но есть проблема. сигналом является изменение одной переменной. А как сделать так чтобы сигналом было 3 переменных ?
0
Модератор
Эксперт Python
2689 / 1595 / 513
Регистрация: 21.02.2017
Сообщений: 4,209
Записей в блоге: 1
19.08.2019, 08:34 4
Цитата Сообщение от инженер1995 Посмотреть сообщение
self.ui.lineEdit_8.textChanged[str].connect(self.top)
Эм, при вводе одного значения у вас сразу же будет происходить действие, если вам так угодно, то ок. Чтобы передавать три параметра в сигнал, его надо либо переопределить, либо создать свой.
0
19.08.2019, 08:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2019, 08:34
Помогаю со студенческими работами здесь

Посчитать без нажатия кнопки
Здравствуйте! Как сделать, чтоб когда я ввожу градусы в цельсиях , мне сразу одновременно...

Действие без нажатия кнопки
Добрый день Нужно реализовать следующее Поле поиска Поле ответа С полем ответа понятно это...

Обработка нажатия кнопки без фиксации
Здравствуйте! Помогите, пожалуйста. По идее, после нажатия первой кнопки, выполняется вся...

Расчет без нажатия кнопки Выполнить
Добрый день форумчани! Примите меня в свои ряды. Я здесь новенький и программирование занимаюсь...

Скрипт с кнопки выполняется без её нажатия
Есть кнопка с кодом: <button...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru