Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQT закрыть виджет, не закрывая программу [RSS Feed]

#1 Май 7, 2011 21:05:58

Super_BOT
От:
Зарегистрирован: 2011-01-23
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQT закрыть виджет, не закрывая программу

Всем привет, подскажите пожалуйста, как можно закрыть окно кт приложения, но при этом программа должна продолжаться.

Если вызывать

sys.exit(app.exec_())

то программа завершается сразу же. Можно ли сделать так, чтобы при нажатие на кнопку, или крестик, закрывался только виджет?



Офлайн

#2 Май 7, 2011 21:20:40

Studentik
От:
Зарегистрирован: 2009-12-26
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQT закрыть виджет, не закрывая программу

from PyQt4 import Qt as qt
import sys

app = qt.QApplication(sys.argv)
mw = qt.QMainWindow()
btn = qt.QPushButton("Hide me")

def hide(checked):
btn.hide()

btn.clicked.connect(hide)
mw.show()
btn.show()
app.exec_()



Офлайн

#3 Май 8, 2011 10:38:00

Super_BOT
От:
Зарегистрирован: 2011-01-23
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQT закрыть виджет, не закрывая программу

Спасибо за ответ.

Только возник еще вопрос.
Если у меня многопоточное приложение, то как можно сделтаь чтобы одновременно выводились два диалоговых окна?

Сейчас если одновременно два диалоговых окна выводится, то питон говорит следующее

QObject::startTimer: timers cannot be started from another thread
QObject::startTimer: timers cannot be started from another thread
QObject::startTimer: timers cannot be started from another thread
QObject::startTimer: timers cannot be started from another thread
QApplication: Object event filter cannot be in a different thread.
QObject::startTimer: timers cannot be started from another thread
QApplication: Object event filter cannot be in a different thread.
QObject::startTimer: timers cannot be started from another thread
И еще вопрос, как можно в любой функции, сделать ожидание нажатия клавиши?

То есть поток работает, дошел до определенного момента, и должен дождаться нажатия клавиши, подскажите пожалуйста как это можно реализовать?



Отредактировано (Май 8, 2011 11:17:46)

Офлайн

  • Начало
  • » GUI
  • » PyQT закрыть виджет, не закрывая программу[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version