本文整理汇总了Python中PySide.QtCore.QThread.quit方法的典型用法代码示例。如果您正苦于以下问题:Python QThread.quit方法的具体用法?Python QThread.quit怎么用?Python QThread.quit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PySide.QtCore.QThread
的用法示例。
在下文中一共展示了QThread.quit方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from PySide.QtCore import QThread [as 别名]
# 或者: from PySide.QtCore.QThread import quit [as 别名]
def main(argv = None):
if argv is None:
argv = sys.argv
version = '20130216' # modification date in yyyymmdd format
connmgr = ConnectionManager()
comm = SerialComm(connmgr)
app = QApplication(argv)
appwindow = MainWindow(connmgr, 'Projector Control Panel')
commthread = QThread()
comm.enumerateSerialPorts()
comm.moveToThread(commthread)
commthread.start()
appwindow.show()
appwindow.writeToLog('Software version ' + version + '.')
result = app.exec_()
commthread.quit()
commthread.wait()
return result
示例2: MainWindow
# 需要导入模块: from PySide.QtCore import QThread [as 别名]
# 或者: from PySide.QtCore.QThread import quit [as 别名]
class MainWindow(QMainWindow, Ui_MainWindow):
add_name_signal = Signal(unicode)
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
# Create the name manager instance and move it to another thread.
# This will cause all the slots to be run in that other thread
# instead of our GUI thread.
self.name_manager = NameManager()
self.name_manager_thread = QThread()
self.name_manager.moveToThread(self.name_manager_thread)
self.name_manager_thread.start()
# Create our network manager
self.network_manager = NetworkManager()
# When the name manager emits it's full name list, we want to
# repopulate our list.
self.name_manager.names_signal.connect(self.populate_list)
# When the restore list button is clicked, let the name manager
# know we need all the names in long term storage
self.restore_list_button.clicked.connect(self.name_manager.get_all_names)
self.add_name_signal.connect(self.name_manager.store_name)
self.add_name_signal.connect(self.cache_name)
self.submit_button.clicked.connect(self.say_hello)
self.clear_list_button.clicked.connect(self.clear_list)
def clean_up(self):
"""
You can't rely on __del__ properly closing down all your threads. So use
a clean_up method that will be called manually.
:return:
"""
if hasattr(self, 'network_manager_thread'):
self.network_manager.api.end_connection()
self.network_manager.api.join()
self.network_manager_thread.quit()
self.name_manager_thread.quit()
def start_api(self, ip, port):
"""
Connect to an external API service which will send us names
:param ip: IP address of server
:param port: Port of service
:return:
"""
self.network_manager_thread = QThread()
self.network_manager.moveToThread(self.network_manager_thread)
self.network_manager.message_signal.connect(self.handle_message)
self.network_manager_thread.start()
self.network_manager.connect_signal.emit(ip, port)
@Slot()
def handle_message(self, message):
"""
Handle incoming names from the API. We simply want to follow the
established procedure to add a new name. So we just emit on that
signal.
:param message: String name
:return:
"""
self.add_name_signal.emit(message)
@Slot()
def say_hello(self):
self.add_name_signal.emit(self.name_text.text())
self.hello_label.setText(u"{} {}".format(GREETING, self.name_text.text()))
self.name_text.setText('')
@Slot()
def cache_name(self, name):
self.names_list.addItem(name)
@Slot()
def clear_list(self):
self.names_list.clear()
@Slot()
def populate_list(self, names):
"""
Clears and repopulates the list with the given list
:param names: List of names
:return:
"""
self.clear_list()
for name in names:
self.names_list.addItem(name)