-1
我正嘗試在使用WebView的pyqt中開發外觀漂亮的應用程序,並且有一點問題。 我想通過在WebView中按下按鈕來創建新窗口。在PyQT + Webview中創建新的對話框
我有主窗口(短視圖):
class LoginWindow(QWidget):
def __init__(self):
# creating window and different properties...
# Its not important,i think.
self.foo = LoginConnector(self)
view.page().mainFrame().addToJavaScriptWindowObject("foo", self.foo)
...連接器,以JS
class LoginConnector(QObject):
@pyqtSlot(result=str)
def get_user_list(self):
return ','.join(core.available_users())
@pyqtSlot()
def new_window(self):
print 'Hello!'
#What can i do here?
@pyqtSlot()
def quit(self):
QApplication.quit()
當我真的在窗口按下按鈕時,其呼叫new_window( )來自LoginConnector,但是如何在LoginConnector內部創建Dialog?
解決了!我是個笨蛋,聽着下面的聰明人
我試圖做這樣的事情.Windows出現但沒有初始化。代碼在這裏http://pastebin.com/rk9HaN0C。我不會看到「Init!」在控制檯中,窗口顯示爲無標題和WebView。 – progerz
看起來您並未將佈局設置爲對話框。 self.setLayout(佈局)。 self.setWindowTitle(「Name」)設置PySide的標題(我不使用pyqt)。該代碼沒有圍繞QObject類包裝new_window方法,但它看起來像你這樣做,只是沒有發佈你的所有代碼。 – HashSplat
是的,我知道,完整的代碼在這裏http://pastebin.com/283R2A39。 我在CreateUser類的某處發現了這個問題,現在我試圖找到bug。 – progerz