我是PyQt的新手,正在使用PyQt构建一个小型桌面应用程序。我正在尝试在主窗口上添加一个按钮,当我按下该按钮时,我想显示一个带有一些文本的子窗口。经过大量搜索后,我尝试了一些来自我身边的东西,最后得到了以下代码。但它不起作用。有人可以指导我。
def window():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
def show_html():
w2 = QtGui.QWidget(w)
html_source = QPlainTextEdit(w2)
html_source.setPlainText("Some text here")
html_source.move(700,50)
w2.setGeometry(1000,1000,750,400)
w2.setWindowTitle("Source Code")
w2.show()
generate_html = QtGui.QPushButton("Show HTML", w)
generate_html.clicked.connect(show_html)
w.setGeometry(2000,2000,1500,800)
w.setWindowTitle("Fanwen Crawler")
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
当我点击“显示HTML”按钮时,它没有显示另一个窗口。
答案 0 :(得分:-1)
这段代码不起作用的唯一原因是 - 我没有在主窗口中定义我的子窗口,所以它没有执行。代码应该是 -
def window():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
w2 = QtGui.QWidget(w)
def show_html():
html_source = QPlainTextEdit(w2)
html_source.setPlainText("Some text here")
html_source.move(700,50)
w2.setGeometry(1000,1000,750,400)
w2.setWindowTitle("Source Code")
w2.show()
generate_html = QtGui.QPushButton("Show HTML", w)
generate_html.clicked.connect(show_html)
w.setGeometry(2000,2000,1500,800)
w.setWindowTitle("Fanwen Crawler")
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()