필자는 WebView를 사용하여 pyqt에서 멋진 모양의 응용 프로그램을 개발하려고하고 있으며 약간의 문제가 있습니다. WebView에서 버튼을 눌러 새 창을 만들고 싶습니다. `난 창에서 버튼을 누를 때 (그 콜 new_window을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()
행 :
는 I는 메인 윈도우 (짧은보기)가) LoginConnector,하지만 Dialog를 LoginConnector 내에서 만드는 방법은 무엇입니까?
해결! 나는 바보 야, 그 영리한 남자를 들어 봐
나는 그와 같은 것을하려고 시도했다. Windows는 나타나지만 초기화하지는 않는다. 여기 코드 http://pastebin.com/rk9HaN0C. "Init!"가 표시되지 않습니다. 콘솔 및 제목 및 WebView없이 창이 나타납니다. – progerz
대화 상자에 레이아웃을 설정하지 않은 것 같습니다. self.setLayout (layout). self.setWindowTitle ("Name")은 PySide의 제목을 설정합니다 (저는 pyqt를 사용하지 않습니다). 이 코드는 QObject 클래스를 감싸는 new_window 메소드를 가지고 있지 않지만, 코드를 게시하지 않았던 것처럼 보입니다. – HashSplat
예, 알고 있습니다. 전체 코드는 http://pastebin.com/283R2A39입니다. CreateUser 클래스 어딘가에서 문제를 발견하고 지금 버그를 찾으려고합니다. – progerz