У меня есть приложение, в котором я пытался использовать цикл while, но приложение просто зависает, и теперь я думаю, что мне нужно использовать QEventLoop, чтобы заставить приложение работать здесь, - это какой-то соответствующий код, когда и как использовать PySide QEventLoop
def ex_initialator(self):
""" sets up things for the problem runner """
print "ayadara"
print "self.start_button_status this is...::" ,self.start_button_status
#:Pop up dialogs
no_options_selected = QtGui.QMessageBox()
select_range = QtGui.QMessageBox()
select_op_type = QtGui.QMessageBox()
#:Shows message if no options selected
if len(self.op_types) < 1 and len(self.num_range) < 1 and self.start_button_status == 0:
print "Please pick from the options provided"
no_options_selected.exec_()
#:Shows message if range is not selected
if len(self.op_types) >= 1 and len(self.num_range) < 1 and self.start_button_status == 0 :
print "Please pick at least one of the ranges"
select_range.exec_()
#:Shows message if op_type/s not selected
if len(self.op_types) < 1 and len(self.num_range) >= 1 and self.start_button_status == 0:
print "Please pick at least one of the operation types"
select_op_type.exec_()
#:Correct inputs initiates problem maker
if len(self.op_types) >= 1 and len(self.num_range) >= 1 and (self.start_button_status == 0 or self.start_button_status == 1):
self.start_button_status = 1
self.prob_signal.runner_sig.connect(self.problem_runner)
self.prob_signal.runner_sig.emit()
def problem_runner(self):
""" Expression Makers """
while self.start_button_status == 1:
#:picks range types
range_type = random.choice(self.num_range)
D = decimal.Decimal
self.answer_lineEdit.returnPressed.connect(self.ex_evaluator)
self.answer_lineEdit.clear()
что я хочу, чтобы иметь возможность начать, приостановить и остановить кнопки, я новичок, так что я мог бы не так в использовании QLineEdit в этом случае я был бы признателен некоторые предложения по более эффективному осуществлению
Я попробовал ваш пример, и он делает то, что мне нужно это делать, однако, когда его запуска она занимает> 90 из CPU..could вы скажите мне, почему или как обойти это ? –
Исправлено использование ЦП при приостановке. –
кажется, что он отлично работает, когда он приостанавливается даже в первой части вашего кода, однако это когда он отображает числа, которые он фактически потребляет весь процессор. –