2016-04-18 66 views
1

私はPyQtが新しく、PyQtを使って小さなデスクトップアプリケーションを構築しています。メインウィンドウにボタンを追加しようとしていますが、そのボタンを押すと、テキストが表示されたサブウィンドウが表示されます。たくさんの検索をした後、私は自分の側から何かを試して、次のコードで終わりました。しかしそれは働かない。誰かが私を同じように導くことができますか?PYQt Pythonでサブウィンドウを表示

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を表示]ボタンをクリックしているときに、他のウィンドウが表示されないとき。

答えて

-1

このコードは働いていなかった唯一の理由がある - 私は、メインウィンドウに自分の子ウィンドウを定義していなかったので、executing.theコードが

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() 
+0

がavstennitによってもたらされるコードをアシシュBE-する必要がありませんでしたはるかにクリーンで読み易く、pyqtプログラムで通常採用されている標準に従います。あなたはうまくいくかもしれませんが、私はpyqtプログラムの作成方法のモデルとしてasvstennitのコードを見ていきます。 – neuronet

+0

はい私はそれに同意しますが、その答えは私の問題の解決ではありませんでした。解決策は私が投稿した上記の答えにある、実際問題は、メインウィンドウで子ウィンドウを宣言したためだった。 – ashish

関連する問題