You would have to delete the app execution to make all work and change Qapplication to Qwidget.
here is my hello script with a little mini forum :)
load in ida from either *.py or from script command
be sure to have sip and Qt instal proberly
This way You can disign plugins must faster and richer.
and if you see i dont even import idaapi
# -*- coding: utf-8 -*-
#Created by michael
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_TabWidget(object):
def setupUi(self, TabWidget):
TabWidget.setObjectName(_fromUtf8("TabWidget"))
TabWidget.resize(764, 385)
self.tab = QtGui.QWidget()
self.tab.setObjectName(_fromUtf8("tab"))
self.btn_hello = QtGui.QPushButton(self.tab)
self.btn_hello.setGeometry(QtCore.QRect(30, 30, 75, 23))
self.btn_hello.setObjectName(_fromUtf8("btn_hello"))
self.btn_idaaaap = QtGui.QPushButton(self.tab)
self.btn_idaaaap.setGeometry(QtCore.QRect(30, 90, 75, 23))
self.btn_idaaaap.setObjectName(_fromUtf8("btn_idaaaap"))
TabWidget.addTab(self.tab, _fromUtf8(""))
self.tab1 = QtGui.QWidget()
self.tab1.setObjectName(_fromUtf8("tab1"))
self.verticalLayout = QtGui.QVBoxLayout(self.tab1)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.webView = QtWebKit.QWebView(self.tab1)
self.webView.setUrl(QtCore.QUrl(_fromUtf8("http://stackoverflow.com/questions/24494412/ida-pro-and-pyqt-simple-buttons-connect/")))
self.webView.setObjectName(_fromUtf8("webView"))
self.verticalLayout.addWidget(self.webView)
TabWidget.addTab(self.tab1, _fromUtf8(""))
self.retranslateUi(TabWidget)
TabWidget.setCurrentIndex(1)
QtCore.QMetaObject.connectSlotsByName(TabWidget)
def retranslateUi(self, TabWidget):
TabWidget.setWindowTitle(_translate("TabWidget", "TabWidget", None))
self.btn_hello.setText(_translate("TabWidget", "Hello World", None))
self.btn_idaaaap.setText(_translate("TabWidget", "Help idaapi", None))
TabWidget.setTabText(TabWidget.indexOf(self.tab), _translate("TabWidget", "test signal", None))
TabWidget.setTabText(TabWidget.indexOf(self.tab1), _translate("TabWidget", "stackoverflow Forum", None))
self.btn_hello.clicked.connect(self.Hello)
self.btn_idaaaap.clicked.connect(self.Help)
def Hello(self):
print "what the heck how did i get in here"
def Help(self):
help("idaapi")
from PyQt4 import QtWebKit
if __name__ == "__main__":
import sys
app = QtGui.QWidget()
TabWidget = QtGui.QTabWidget()
ui = Ui_TabWidget()
ui.setupUi(TabWidget)
TabWidget.show()