Найти - Пользователи
Полная версия: PyQt disable на время ?
Начало » GUI » PyQt disable на время ?
1
SID88
Подскажите пожалуйста как организовать setDisabled на определенное время?
т.е например сделать недоступной кнопку на несколько секунд.
Заранее спасибо
py.user.next
Используй QTimer(). По событию вызывается слот, который отключает кнопку и запускает таймер. По событию тика таймера вызывается слот, который выключает таймер и включает кнопку.
SID88
py.user.next
Используй QTimer(). По событию вызывается слот, который отключает кнопку и запускает таймер. По событию тика таймера вызывается слот, который выключает таймер и включает кнопку.

Большое спасибо !
Небольшой работающий пример для темы!!!


import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *


class MyApp(QWidget):
def __init__(self,*args,**kwargs):
QWidget.__init__(self,*args,**kwargs)
self.current_timer = None
self.layout = QVBoxLayout(self)
self.button = QPushButton('start timer')
self.button.clicked.connect(self.start_timer)
self.layout.addWidget(self.button)

def start_timer(self):
if self.current_timer:
self.current_timer.stop()
self.current_timer.deleteLater()
self.current_timer = QTimer()
self.current_timer.timeout.connect(self.print_hello)
self.current_timer.setSingleShot(True)
self.current_timer.start(3000)

def print_hello(self):
print ‘hello’


# Create QApplication and QWidget
qapp = QApplication(sys.argv)
app = MyApp()
app.show()
qapp.exec_()
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