如何使用PyQT与app.exec_()一起运行另一个循环

时间:2014-12-22 18:21:24

标签: python user-interface pyqt

我在使用pyQT作为GUI的GUI时遇到了问题。作为学校项目的一部分,我正在为患有严重脑瘫的阿姨做一个简单的拼写辅助工具。我想运行一个循环遍历拼写选项的循环,然后更新GUI中的HTML。不幸的是,当我启动GUI时,由于app.exec_(),它会停止所有其他代码。我想知道无论如何要阻止这种情况发生。我添加了我的代码版本。使用所有拼写过程和语法更正,我的整个代码将会太长,但是,如果我可以使这个版本正常工作,我应该能够在我的其余代码中实现该解决方案。

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
import time as t

var = "A"
settings = "option"
section1 = "highlight"
section2 = "option"
section3 = "option"
numbers = "option"
symbols = "option"
quickCom = "option"
quiting = "option"
sentence = "Hello"

def main():
    changeVar()
    reloading()
    web.reload()

def changeVar():
    global var
    var = "B"
    return var

def reloading():
    web.setHtml('''<html>
<head>
<title>Input Capture</title>
<style>
div {
   border: 1px solid Black;
}
body {
  margin: 5px;
  padding: 5px;
  width: 100%;
  font: 140% 'PT Sans', 'Verdana', Helvetica, Arial, sans-serif;
}
#navigation {
  float: left;
  width: 20%;
  font-family: Verdana;
  margin: 5px;
}
#content {
  float: left;
  font-size: 1000%;
  align: center;
  margin: 5px;
  padding: 20px 30px 30px 30px;
  border: none;
}

#footer {
  float: bottom;
  clear: both;
  width: 100%;
}
.highlight {
  margin: 5px;
  padding: 3px;
  weight: bold;
  color: white;
  background-color: black;
}
.option {
  margin: 5px;
  padding: 3px;
}

#inputSoFar {
  weight: bold;
  color: white;
  background-color: black;
  padding: 10px;
  font-size: 200%;
}
</style>
  <head>
  <body>
    <div border="">
      <div id="navigation">
        <div class= ''' + settings +'''>Settings</div>
        <div class=''' + section1 + '''>A-I</div>
        <div class=''' + section2 + '''>J-Q</div>
        <div class=''' + section3 + '''>R-Z</div>
        <div class=''' + numbers + '''>0-9</div>
        <div class=''' + symbols + '''>Symbols</div>
        <div class=''' + quickCom + '''>Quick Com</div>
        <div class=''' + quiting + '''>Quit</div>
      </div>
      <div id="content">
         ''' + var + '''
      </div>
    </div>
    <div id="footer">
      <div id="inputSoFar">''' + sentence+ '''</div>
      </div>
  </body>
</html> ''', QUrl('http://localhost'))

app = QApplication(sys.argv)

web = QWebView()
reloading()
web.show()
app.exec_()
main()

项目背后的想法是,当我的姨妈通过选项时,变量会改变,HTML会更新,但它还没有这样做。感谢您提供的任何建议

0 个答案:

没有答案