我在使用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会更新,但它还没有这样做。感谢您提供的任何建议