I am new to python 3.3 and am having some trouble with random simple tasks. I made a gui in qt designer and exported the py code. I added
def show(self):
self.QtGui.show()
sys.exit(self.exec_())
and
MainWindow = Ui_MainWindow(sys.argv)
MainWindow.show()
to the end to try and view the GUI before I add in all the code. Im sure this is possible, I just can not figure it out. My entire code is:
from PyQt4 import QtCore, QtGui
import sys
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_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(390, 355)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.tabWidget = QtGui.QTabWidget(self.centralwidget)
self.tabWidget.setGeometry(QtCore.QRect(10, 10, 371, 301))
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
self.TS2 = QtGui.QWidget()
self.TS2.setObjectName(_fromUtf8("TS2"))
self.lineEdit = QtGui.QLineEdit(self.TS2)
self.lineEdit.setGeometry(QtCore.QRect(120, 30, 91, 20))
self.lineEdit.setText(_fromUtf8(""))
self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
self.spinBox = QtGui.QSpinBox(self.TS2)
self.spinBox.setGeometry(QtCore.QRect(120, 70, 42, 22))
self.spinBox.setObjectName(_fromUtf8("spinBox"))
self.pushButton = QtGui.QPushButton(self.TS2)
self.pushButton.setGeometry(QtCore.QRect(140, 230, 91, 23))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.label = QtGui.QLabel(self.TS2)
self.label.setGeometry(QtCore.QRect(20, 30, 91, 16))
self.label.setObjectName(_fromUtf8("label"))
self.label_2 = QtGui.QLabel(self.TS2)
self.label_2.setGeometry(QtCore.QRect(20, 70, 91, 20))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.label_11 = QtGui.QLabel(self.TS2)
self.label_11.setGeometry(QtCore.QRect(20, 170, 91, 21))
self.label_11.setObjectName(_fromUtf8("label_11"))
self.lineEdit_6 = QtGui.QLineEdit(self.TS2)
self.lineEdit_6.setGeometry(QtCore.QRect(120, 170, 131, 20))
self.lineEdit_6.setObjectName(_fromUtf8("lineEdit_6"))
self.pushButton_6 = QtGui.QPushButton(self.TS2)
self.pushButton_6.setGeometry(QtCore.QRect(260, 170, 75, 23))
self.pushButton_6.setObjectName(_fromUtf8("pushButton_6"))
self.line_2 = QtGui.QFrame(self.TS2)
self.line_2.setGeometry(QtCore.QRect(0, 200, 371, 20))
self.line_2.setFrameShape(QtGui.QFrame.HLine)
self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
self.line_2.setObjectName(_fromUtf8("line_2"))
self.tabWidget.addTab(self.TS2, _fromUtf8(""))
self.AGS = QtGui.QWidget()
self.AGS.setObjectName(_fromUtf8("AGS"))
self.lineEdit_2 = QtGui.QLineEdit(self.AGS)
self.lineEdit_2.setGeometry(QtCore.QRect(120, 30, 91, 20))
self.lineEdit_2.setText(_fromUtf8(""))
self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2"))
self.label_3 = QtGui.QLabel(self.AGS)
self.label_3.setGeometry(QtCore.QRect(20, 30, 91, 16))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.spinBox_2 = QtGui.QSpinBox(self.AGS)
self.spinBox_2.setGeometry(QtCore.QRect(120, 70, 42, 22))
self.spinBox_2.setObjectName(_fromUtf8("spinBox_2"))
self.label_4 = QtGui.QLabel(self.AGS)
self.label_4.setGeometry(QtCore.QRect(20, 70, 91, 20))
self.label_4.setObjectName(_fromUtf8("label_4"))
self.pushButton_2 = QtGui.QPushButton(self.AGS)
self.pushButton_2.setGeometry(QtCore.QRect(140, 230, 91, 23))
self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
self.label_8 = QtGui.QLabel(self.AGS)
self.label_8.setGeometry(QtCore.QRect(20, 110, 91, 21))
self.label_8.setObjectName(_fromUtf8("label_8"))
self.label_10 = QtGui.QLabel(self.AGS)
self.label_10.setGeometry(QtCore.QRect(20, 170, 91, 21))
self.label_10.setObjectName(_fromUtf8("label_10"))
self.lineEdit_5 = QtGui.QLineEdit(self.AGS)
self.lineEdit_5.setGeometry(QtCore.QRect(120, 170, 131, 20))
self.lineEdit_5.setObjectName(_fromUtf8("lineEdit_5"))
self.pushButton_5 = QtGui.QPushButton(self.AGS)
self.pushButton_5.setGeometry(QtCore.QRect(260, 170, 75, 23))
self.pushButton_5.setObjectName(_fromUtf8("pushButton_5"))
self.lineEdit_7 = QtGui.QLineEdit(self.AGS)
self.lineEdit_7.setGeometry(QtCore.QRect(120, 110, 31, 20))
self.lineEdit_7.setObjectName(_fromUtf8("lineEdit_7"))
self.label_12 = QtGui.QLabel(self.AGS)
self.label_12.setGeometry(QtCore.QRect(160, 110, 61, 21))
self.label_12.setObjectName(_fromUtf8("label_12"))
self.line = QtGui.QFrame(self.AGS)
self.line.setGeometry(QtCore.QRect(0, 200, 371, 20))
self.line.setFrameShape(QtGui.QFrame.HLine)
self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName(_fromUtf8("line"))
self.tabWidget.addTab(self.AGS, _fromUtf8(""))
self.AQT = QtGui.QWidget()
self.AQT.setObjectName(_fromUtf8("AQT"))
self.label_5 = QtGui.QLabel(self.AQT)
self.label_5.setGeometry(QtCore.QRect(20, 30, 91, 16))
self.label_5.setObjectName(_fromUtf8("label_5"))
self.lineEdit_3 = QtGui.QLineEdit(self.AQT)
self.lineEdit_3.setGeometry(QtCore.QRect(120, 30, 91, 20))
self.lineEdit_3.setText(_fromUtf8(""))
self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3"))
self.spinBox_3 = QtGui.QSpinBox(self.AQT)
self.spinBox_3.setGeometry(QtCore.QRect(120, 70, 42, 22))
self.spinBox_3.setObjectName(_fromUtf8("spinBox_3"))
self.label_6 = QtGui.QLabel(self.AQT)
self.label_6.setGeometry(QtCore.QRect(20, 70, 91, 20))
self.label_6.setObjectName(_fromUtf8("label_6"))
self.pushButton_3 = QtGui.QPushButton(self.AQT)
self.pushButton_3.setGeometry(QtCore.QRect(140, 230, 91, 23))
self.pushButton_3.setObjectName(_fromUtf8("pushButton_3"))
self.dateEdit = QtGui.QDateEdit(self.AQT)
self.dateEdit.setGeometry(QtCore.QRect(120, 110, 110, 22))
self.dateEdit.setObjectName(_fromUtf8("dateEdit"))
self.label_7 = QtGui.QLabel(self.AQT)
self.label_7.setGeometry(QtCore.QRect(20, 110, 91, 21))
self.label_7.setObjectName(_fromUtf8("label_7"))
self.pushButton_4 = QtGui.QPushButton(self.AQT)
self.pushButton_4.setGeometry(QtCore.QRect(260, 170, 75, 23))
self.pushButton_4.setFlat(False)
self.pushButton_4.setObjectName(_fromUtf8("pushButton_4"))
self.lineEdit_4 = QtGui.QLineEdit(self.AQT)
self.lineEdit_4.setGeometry(QtCore.QRect(120, 170, 131, 20))
self.lineEdit_4.setObjectName(_fromUtf8("lineEdit_4"))
self.label_9 = QtGui.QLabel(self.AQT)
self.label_9.setGeometry(QtCore.QRect(20, 170, 91, 21))
self.label_9.setObjectName(_fromUtf8("label_9"))
self.line_3 = QtGui.QFrame(self.AQT)
self.line_3.setGeometry(QtCore.QRect(0, 200, 371, 20))
self.line_3.setFrameShape(QtGui.QFrame.HLine)
self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
self.line_3.setObjectName(_fromUtf8("line_3"))
self.tabWidget.addTab(self.AQT, _fromUtf8(""))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 390, 21))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.menuFile = QtGui.QMenu(self.menubar)
self.menuFile.setObjectName(_fromUtf8("menuFile"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
self.actionExit = QtGui.QAction(MainWindow)
self.actionExit.setObjectName(_fromUtf8("actionExit"))
self.menuFile.addAction(self.actionExit)
self.menubar.addAction(self.menuFile.menuAction())
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(2)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
self.pushButton.setText(_translate("MainWindow", "Execute", None))
self.label.setText(_translate("MainWindow", "XXXXXXXXX:", None))
self.label_2.setText(_translate("MainWindow", "xXXXXXXXXXXX:", None))
self.label_11.setText(_translate("MainWindow", "XXXXXXXXXX:", None))
self.pushButton_6.setText(_translate("MainWindow", "Browse", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.TS2), _translate("MainWindow", "XXXXXX", None))
self.label_3.setText(_translate("MainWindow", "XXXXXXXX:", None))
self.label_4.setText(_translate("MainWindow", "XXXXXXXXXXX:", None))
self.pushButton_2.setText(_translate("MainWindow", "Execute", None))
self.label_8.setText(_translate("MainWindow", "xXXXXXXXX:", None))
self.label_10.setText(_translate("MainWindow", "XXXXXXXX:", None))
self.pushButton_5.setText(_translate("MainWindow", "Browse", None))
self.label_12.setText(_translate("MainWindow", "XXXXXX", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.AGS), _translate("MainWindow", "XXXXXX", None))
self.label_5.setText(_translate("MainWindow", "XXXX:", None))
self.label_6.setText(_translate("MainWindow", "XXXXX:", None))
self.pushButton_3.setText(_translate("MainWindow", "Execute", None))
self.dateEdit.setDisplayFormat(_translate("MainWindow", "yyyy-MM-dd", None))
self.label_7.setText(_translate("MainWindow", "XXXXX:", None))
self.pushButton_4.setText(_translate("MainWindow", "Browse", None))
self.label_9.setText(_translate("MainWindow", "xXXXXXX:", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.AQT), _translate("MainWindow", "XXXXX", None))
self.menuFile.setTitle(_translate("MainWindow", "File", None))
self.actionExit.setText(_translate("MainWindow", "Exit", None))
def show(self):
self.QtGui.show()
sys.exit(self.exec_())
MainWindow = Ui_MainWindow(sys.argv)
MainWindow.show()
And the error that I get is:
TypeError: object.__new__() takes no parameters
Now Im not even sure this error is related to my problem, but I am at the end of my rope trying to simply see this UI. No functionality needed yet.
Thank you in advance!
You don't need to do this by hand. pyuic4 has an option to add this: -x. Then you can just run the pyuic4 generated code and you'll see the widget. For example:
pyuic4 -x -o output.py input.ui
Related
I am not able to print the user's input from GUI.py code. When I try to print, prints something like this[PyQt4.QtGui.QTextEdit object at 0x0000000002BE8288]:
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_Dialog(object):
def merger(self):
location = self.plainTextEdit_location
print "%s" % (location)
date = self.textEdit1_date
print "%s" % (date)
session = self.textEdit3_session
print "%s" % (session)
dept1_rangefrom = self.plainTextEdit1_from1
print "%d" %(dept1_rangefrom)
dept2_rangefrom = self.plainTextEdit2_from2
print "%d" % (dept2_rangefrom)
dept1_rangeto = self.plainTextEdit4_to
print "%d" % (dept1_rangeto)
dept2_rangeto = self.plainTextEdit3_to1
print "%d" % (dept2_rangeto)
#self.textEdit2_month.setText(test)
#print " "+str(month.text())
def setupUi(self, Dialog):
Dialog.setObjectName(_fromUtf8("Dialog"))
Dialog.resize(637, 361)
self.comboBox_dept2 = QtGui.QComboBox(Dialog)
self.comboBox_dept2.setGeometry(QtCore.QRect(240, 80, 69, 22))
self.comboBox_dept2.setObjectName(_fromUtf8("comboBox_dept2"))
self.comboBox_dept2.addItem(_fromUtf8(""))
self.comboBox_dept2.addItem(_fromUtf8(""))
self.comboBox_dept2.addItem(_fromUtf8(""))
self.comboBox_dept2.addItem(_fromUtf8(""))
self.comboBox_dept2.addItem(_fromUtf8(""))
self.comboBox_dept2.addItem(_fromUtf8(""))
self.comboBox_2_dept1 = QtGui.QComboBox(Dialog)
self.comboBox_2_dept1.setGeometry(QtCore.QRect(130, 80, 69, 22))
self.comboBox_2_dept1.setObjectName(_fromUtf8("comboBox_2_dept1"))
self.comboBox_2_dept1.addItem(_fromUtf8(""))
self.comboBox_2_dept1.addItem(_fromUtf8(""))
self.comboBox_2_dept1.addItem(_fromUtf8(""))
self.comboBox_2_dept1.addItem(_fromUtf8(""))
self.comboBox_2_dept1.addItem(_fromUtf8(""))
self.comboBox_2_dept1.addItem(_fromUtf8(""))
self.label = QtGui.QLabel(Dialog)
self.label.setGeometry(QtCore.QRect(10, 80, 101, 21))
self.label.setObjectName(_fromUtf8("label"))
self.label_2 = QtGui.QLabel(Dialog)
self.label_2.setGeometry(QtCore.QRect(10, 30, 101, 31))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.textEdit1_date = QtGui.QTextEdit(Dialog)
self.textEdit1_date.setGeometry(QtCore.QRect(130, 30, 91, 31))
self.textEdit1_date.setObjectName(_fromUtf8("textEdit1_date"))
self.label_3 = QtGui.QLabel(Dialog)
self.label_3.setGeometry(QtCore.QRect(10, 130, 101, 31))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.textEdit3_session = QtGui.QTextEdit(Dialog)
self.textEdit3_session.setGeometry(QtCore.QRect(130, 130, 51, 31))
self.textEdit3_session.setObjectName(_fromUtf8("textEdit3_session"))
self.plainTextEdit1_from1 = QtGui.QPlainTextEdit(Dialog)
self.plainTextEdit1_from1.setGeometry(QtCore.QRect(130, 190, 71,
31))
self.plainTextEdit1_from1.setObjectName
(_fromUtf8("plainTextEdit1_from1"))
self.label_4 = QtGui.QLabel(Dialog)
self.label_4.setGeometry(QtCore.QRect(10, 250, 111, 21))
self.label_4.setObjectName(_fromUtf8("label_4"))
self.label_5 = QtGui.QLabel(Dialog)
self.label_5.setGeometry(QtCore.QRect(220, 200, 21, 16))
self.label_5.setObjectName(_fromUtf8("label_5"))
self.plainTextEdit4_to = QtGui.QPlainTextEdit(Dialog)
self.plainTextEdit4_to.setGeometry(QtCore.QRect(250, 250, 71, 31))
self.plainTextEdit4_to.setObjectName(_fromUtf8("plainTextEdit4_to"))
self.label_6 = QtGui.QLabel(Dialog)
self.label_6.setGeometry(QtCore.QRect(220, 250, 21, 16))
self.label_6.setObjectName(_fromUtf8("label_6"))
self.label_7 = QtGui.QLabel(Dialog)
self.label_7.setGeometry(QtCore.QRect(10, 190, 111, 21))
self.label_7.setObjectName(_fromUtf8("label_7"))
self.plainTextEdit3_to1 = QtGui.QPlainTextEdit(Dialog)
self.plainTextEdit3_to1.setGeometry(QtCore.QRect(250, 190, 71, 31))
self.plainTextEdit3_to1.setObjectName(_fromUtf8
("plainTextEdit3_to1"))
self.plainTextEdit2_from2 = QtGui.QPlainTextEdit(Dialog)
self.plainTextEdit2_from2.setGeometry(QtCore.QRect(130, 250, 71,
31))
self.plainTextEdit2_from2.setObjectName(_fromUtf8
("plainTextEdit2_from2"))
self.label_8 = QtGui.QLabel(Dialog)
self.label_8.setGeometry(QtCore.QRect(280, 30, 111, 31))
self.label_8.setObjectName(_fromUtf8("label_8"))
self.textEdit2_month = QtGui.QTextEdit(Dialog)
self.textEdit2_month.setGeometry(QtCore.QRect(370, 30, 121, 31))
self.textEdit2_month.setObjectName(_fromUtf8("textEdit2_month"))
self.label_9 = QtGui.QLabel(Dialog)
self.label_9.setGeometry(QtCore.QRect(10, 320, 101, 21))
self.label_9.setObjectName(_fromUtf8("label_9"))
self.plainTextEdit_location = QtGui.QPlainTextEdit(Dialog)
self.plainTextEdit_location.setGeometry
(QtCore.QRect(130, 310, 311, 31))
self.plainTextEdit_location.setObjectName(_fromUtf8
("plainTextEdit_location"))
self.pushButton = QtGui.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(430, 120, 151, 81))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.pushButton.clicked.connect(self.merger)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(_translate("Dialog", "Dialog", None))
self.comboBox_dept2.setItemText(0, _translate
("Dialog", "EEE", None))
self.comboBox_dept2.setItemText(1, _translate
("Dialog", "CSE", None))
self.comboBox_dept2.setItemText(2, _translate
("Dialog", "ECE", None))
self.comboBox_dept2.setItemText(3, _translate
("Dialog", "IT", None))
self.comboBox_dept2.setItemText(4, _translate
("Dialog", "MECH", None))
self.comboBox_dept2.setItemText(5, _translate
("Dialog", "CIVIL", None))
self.comboBox_2_dept1.setItemText(0, _translate
("Dialog", "CSE", None))
self.comboBox_2_dept1.setItemText(1, _translate
("Dialog", "ECE", None))
self.comboBox_2_dept1.setItemText(2, _translate
("Dialog", "IT", None))
self.comboBox_2_dept1.setItemText(3, _translate
("Dialog", "EEE", None))
self.comboBox_2_dept1.setItemText(4, _translate
("Dialog", "MECH", None))
self.comboBox_2_dept1.setItemText(5, _translate
("Dialog", "CIVIL", None))
self.label.setText(_translate("Dialog", "SELECT DEPT", None))
self.label_2.setText(_translate("Dialog", "DATE", None))
self.label_3.setText(_translate("Dialog", "SESSION", None))
self.label_4.setText(_translate("Dialog",
"RANGE OF 2ND DEPT", None))
self.label_5.setText(_translate("Dialog", "TO", None))
self.label_6.setText(_translate("Dialog", "TO", None))
self.label_7.setText(_translate("Dialog",
"RANGE OF 1ST DEPT", None))
self.label_8.setText(_translate("Dialog", "MONTH", None))
self.label_9.setText(_translate("Dialog", "LOCATION", None))
self.pushButton.setText(_translate("Dialog", "SCHEDULE", None))
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
Dialog = QtGui.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
I don't use pyqt4 so I have had to rely on the manual.
Using the QTextEdit widget, you access value using toPlainText().
def merger(self):
location = self.plainTextEdit_location.toPlainText()
print "%s" % (location)
date = self.textEdit1_date.toPlainText()
print "%s" % (date)
session = self.textEdit3_session.toPlainText()
print "%s" % (session)
dept1_rangefrom = self.plainTextEdit1_from1.toPlainText()
print "%s" %(dept1_rangefrom)
dept2_rangefrom = self.plainTextEdit2_from2.toPlainText()
print "%s" % (dept2_rangefrom)
dept1_rangeto = self.plainTextEdit4_to.toPlainText()
print "%s" % (dept1_rangeto)
dept2_rangeto = self.plainTextEdit3_to1.toPlainText()
print "%s" % (dept2_rangeto)
#self.textEdit2_month.setText(test)
#print " "+str(month.text())
I'm trying to embed PyQtGraphs into an existing Qt Window (designed with Qt Designer and converted to .py file). I'm having trouble getting the PyQt GraphicLayoutView to size correctly to the Qt Group which is also inside a Tab.
I had previously managed to get the plots to work using MatPlotLib but they are just too slow at updating once the dataset gets larger, so i decided to make the switch to PyQtGraph as several posts suggested.
Im unsure if im embedding the plots correctly or if it is a case of resizing the GrahpicLayoutView to fill the group.
Any help is appreciated, code and images attached:
Image showing how the graphicsView doesnt size to fit the group
emgWindow_ui.py
# Form implementation generated from reading ui file 'emgWindow.ui'
#
# Created by: PyQt4 UI code generator 4.11.4
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
import pyqtgraph as pg
import numpy as np
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_MainWindow(object):
def setupUi(self, MainWindow):
global win,curve
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(1239, 796)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy)
self.centralWidget = QtGui.QWidget(MainWindow)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.centralWidget.sizePolicy().hasHeightForWidth())
self.centralWidget.setSizePolicy(sizePolicy)
self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
self.gridLayout = QtGui.QGridLayout(self.centralWidget)
self.gridLayout.setMargin(11)
self.gridLayout.setSpacing(6)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.tabWidget = QtGui.QTabWidget(self.centralWidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
self.tabWidget.setSizePolicy(sizePolicy)
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
self.recordTab = QtGui.QWidget()
self.recordTab.setObjectName(_fromUtf8("recordTab"))
self.dirFrame = QtGui.QFrame(self.recordTab)
self.dirFrame.setGeometry(QtCore.QRect(10, 640, 711, 51))
self.dirFrame.setFrameShape(QtGui.QFrame.StyledPanel)
self.dirFrame.setFrameShadow(QtGui.QFrame.Raised)
self.dirFrame.setObjectName(_fromUtf8("dirFrame"))
self.dirTextBox = QtGui.QTextEdit(self.dirFrame)
self.dirTextBox.setGeometry(QtCore.QRect(10, 10, 511, 31))
self.dirTextBox.setObjectName(_fromUtf8("dirTextBox"))
self.recordBtn = QtGui.QPushButton(self.dirFrame)
self.recordBtn.setGeometry(QtCore.QRect(530, 10, 81, 31))
self.recordBtn.setObjectName(_fromUtf8("recordBtn"))
self.stopBtn = QtGui.QPushButton(self.dirFrame)
self.stopBtn.setGeometry(QtCore.QRect(620, 10, 81, 31))
self.stopBtn.setObjectName(_fromUtf8("stopBtn"))
self.trainingIMGBox = QtGui.QGroupBox(self.recordTab)
self.trainingIMGBox.setGeometry(QtCore.QRect(730, 400, 481, 291))
self.trainingIMGBox.setObjectName(_fromUtf8("trainingIMGBox"))
self.IMUBox = QtGui.QGroupBox(self.recordTab)
self.IMUBox.setGeometry(QtCore.QRect(730, 10, 481, 381))
self.IMUBox.setObjectName(_fromUtf8("IMUBox"))
self.EMGBox = QtGui.QGroupBox(self.recordTab)
self.EMGBox.setGeometry(QtCore.QRect(10, 10, 711, 621))
self.EMGBox.setObjectName(_fromUtf8("EMGBox"))
self.tabWidget.addTab(self.recordTab, _fromUtf8(""))
self.classifyTab = QtGui.QWidget()
self.classifyTab.setObjectName(_fromUtf8("classifyTab"))
self.frame_4 = QtGui.QFrame(self.classifyTab)
self.frame_4.setGeometry(QtCore.QRect(280, 10, 921, 681))
self.frame_4.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame_4.setFrameShadow(QtGui.QFrame.Raised)
self.frame_4.setObjectName(_fromUtf8("frame_4"))
self.featuresBox = QtGui.QGroupBox(self.classifyTab)
self.featuresBox.setGeometry(QtCore.QRect(10, 10, 261, 191))
self.featuresBox.setObjectName(_fromUtf8("featuresBox"))
self.MAVCheck = QtGui.QCheckBox(self.featuresBox)
self.MAVCheck.setGeometry(QtCore.QRect(10, 20, 141, 17))
self.MAVCheck.setObjectName(_fromUtf8("MAVCheck"))
self.RMSCheck = QtGui.QCheckBox(self.featuresBox)
self.RMSCheck.setGeometry(QtCore.QRect(10, 40, 141, 17))
self.RMSCheck.setObjectName(_fromUtf8("RMSCheck"))
self.VARCheck = QtGui.QCheckBox(self.featuresBox)
self.VARCheck.setGeometry(QtCore.QRect(10, 60, 131, 17))
self.VARCheck.setObjectName(_fromUtf8("VARCheck"))
self.SSICheck = QtGui.QCheckBox(self.featuresBox)
self.SSICheck.setGeometry(QtCore.QRect(10, 80, 141, 17))
self.SSICheck.setObjectName(_fromUtf8("SSICheck"))
self.ZCCheck = QtGui.QCheckBox(self.featuresBox)
self.ZCCheck.setGeometry(QtCore.QRect(10, 100, 131, 17))
self.ZCCheck.setObjectName(_fromUtf8("ZCCheck"))
self.WLCheck = QtGui.QCheckBox(self.featuresBox)
self.WLCheck.setGeometry(QtCore.QRect(10, 120, 141, 17))
self.WLCheck.setObjectName(_fromUtf8("WLCheck"))
self.SSCCheck = QtGui.QCheckBox(self.featuresBox)
self.SSCCheck.setGeometry(QtCore.QRect(10, 140, 141, 17))
self.SSCCheck.setObjectName(_fromUtf8("SSCCheck"))
self.WACheck = QtGui.QCheckBox(self.featuresBox)
self.WACheck.setGeometry(QtCore.QRect(10, 160, 131, 17))
self.WACheck.setObjectName(_fromUtf8("WACheck"))
self.splitBox = QtGui.QGroupBox(self.classifyTab)
self.splitBox.setGeometry(QtCore.QRect(10, 210, 261, 91))
self.splitBox.setObjectName(_fromUtf8("splitBox"))
self.trainSpin = QtGui.QSpinBox(self.splitBox)
self.trainSpin.setGeometry(QtCore.QRect(110, 20, 42, 22))
self.trainSpin.setMinimum(1)
self.trainSpin.setMaximum(100)
self.trainSpin.setSingleStep(5)
self.trainSpin.setProperty("value", 70)
self.trainSpin.setObjectName(_fromUtf8("trainSpin"))
self.testSpin = QtGui.QSpinBox(self.splitBox)
self.testSpin.setGeometry(QtCore.QRect(110, 60, 42, 22))
self.testSpin.setMinimum(1)
self.testSpin.setMaximum(100)
self.testSpin.setSingleStep(5)
self.testSpin.setProperty("value", 30)
self.testSpin.setObjectName(_fromUtf8("testSpin"))
self.label = QtGui.QLabel(self.splitBox)
self.label.setGeometry(QtCore.QRect(10, 20, 91, 16))
self.label.setObjectName(_fromUtf8("label"))
self.label_2 = QtGui.QLabel(self.splitBox)
self.label_2.setGeometry(QtCore.QRect(10, 60, 91, 16))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.splitBtn = QtGui.QPushButton(self.splitBox)
self.splitBtn.setGeometry(QtCore.QRect(170, 20, 75, 61))
self.splitBtn.setObjectName(_fromUtf8("splitBtn"))
self.trainBtn = QtGui.QPushButton(self.classifyTab)
self.trainBtn.setGeometry(QtCore.QRect(40, 310, 181, 41))
self.trainBtn.setAutoFillBackground(False)
self.trainBtn.setObjectName(_fromUtf8("trainBtn"))
self.resultsBox = QtGui.QGroupBox(self.classifyTab)
self.resultsBox.setGeometry(QtCore.QRect(10, 360, 261, 331))
self.resultsBox.setObjectName(_fromUtf8("resultsBox"))
self.resultsScroll = QtGui.QScrollArea(self.resultsBox)
self.resultsScroll.setGeometry(QtCore.QRect(10, 20, 241, 301))
self.resultsScroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.resultsScroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.resultsScroll.setWidgetResizable(True)
self.resultsScroll.setObjectName(_fromUtf8("resultsScroll"))
self.scrollAreaWidgetContents = QtGui.QWidget()
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 222, 299))
self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
self.resultsScroll.setWidget(self.scrollAreaWidgetContents)
self.tabWidget.addTab(self.classifyTab, _fromUtf8(""))
self.testTab = QtGui.QWidget()
self.testTab.setObjectName(_fromUtf8("testTab"))
self.detectBox = QtGui.QGroupBox(self.testTab)
self.detectBox.setGeometry(QtCore.QRect(600, 10, 191, 681))
self.detectBox.setObjectName(_fromUtf8("detectBox"))
self.gestureTable = QtGui.QTableWidget(self.detectBox)
self.gestureTable.setGeometry(QtCore.QRect(10, 20, 171, 651))
font = QtGui.QFont()
font.setPointSize(12)
self.gestureTable.setFont(font)
self.gestureTable.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.gestureTable.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.gestureTable.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
self.gestureTable.setTextElideMode(QtCore.Qt.ElideMiddle)
self.gestureTable.setRowCount(10)
self.gestureTable.setColumnCount(1)
self.gestureTable.setObjectName(_fromUtf8("gestureTable"))
self.gestureTable.horizontalHeader().setVisible(False)
self.gestureTable.horizontalHeader().setDefaultSectionSize(170)
self.gestureTable.verticalHeader().setVisible(False)
self.gestureTable.verticalHeader().setDefaultSectionSize(65)
self.imgBox = QtGui.QFrame(self.testTab)
self.imgBox.setGeometry(QtCore.QRect(10, 10, 581, 571))
self.imgBox.setFrameShape(QtGui.QFrame.StyledPanel)
self.imgBox.setFrameShadow(QtGui.QFrame.Raised)
self.imgBox.setObjectName(_fromUtf8("imgBox"))
self.gestureSignal = QtGui.QLabel(self.testTab)
self.gestureSignal.setGeometry(QtCore.QRect(10, 590, 581, 21))
font = QtGui.QFont()
font.setPointSize(15)
font.setBold(True)
font.setWeight(75)
self.gestureSignal.setFont(font)
self.gestureSignal.setAlignment(QtCore.Qt.AlignCenter)
self.gestureSignal.setObjectName(_fromUtf8("gestureSignal"))
self.startBtn = QtGui.QPushButton(self.testTab)
self.startBtn.setGeometry(QtCore.QRect(230, 630, 71, 51))
self.startBtn.setObjectName(_fromUtf8("startBtn"))
self.stopBtn_2 = QtGui.QPushButton(self.testTab)
self.stopBtn_2.setGeometry(QtCore.QRect(310, 630, 75, 51))
self.stopBtn_2.setObjectName(_fromUtf8("stopBtn_2"))
self.currentBox = QtGui.QGroupBox(self.testTab)
self.currentBox.setGeometry(QtCore.QRect(800, 10, 411, 681))
self.currentBox.setObjectName(_fromUtf8("currentBox"))
self.tabWidget.addTab(self.testTab, _fromUtf8(""))
self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralWidget)
self.menuBar = QtGui.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 1239, 21))
self.menuBar.setObjectName(_fromUtf8("menuBar"))
MainWindow.setMenuBar(self.menuBar)
self.mainToolBar = QtGui.QToolBar(MainWindow)
self.mainToolBar.setObjectName(_fromUtf8("mainToolBar"))
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.mainToolBar)
self.statusBar = QtGui.QStatusBar(MainWindow)
self.statusBar.setObjectName(_fromUtf8("statusBar"))
MainWindow.setStatusBar(self.statusBar)
self.win = pg.GraphicsLayoutWidget(self.EMGBox)
#self.win = pg.GraphicsWindow()
pg.setConfigOptions(antialias=True)
self.p6 = self.win.addPlot(title="My Plot")
self.curve = self.p6.plot(pen='r')
data1 = np.random.normal(size=300)
curve1 = self.p6.plot(data1)
ptr1 = 0
def update1():
global data1, ptr1
data1[:-1] = data1[1:] # shift data in the array one sample left
# (see also: np.roll)
data1[-1] = np.random.normal()
curve1.setData(data1)
ptr1 += 1
curve1.setData(data1)
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "EMG Gesute Classifier", None))
self.recordBtn.setText(_translate("MainWindow", "Record", None))
self.stopBtn.setText(_translate("MainWindow", "Stop", None))
self.trainingIMGBox.setTitle(_translate("MainWindow", "Gesture", None))
self.IMUBox.setTitle(_translate("MainWindow", "IMU Data", None))
self.EMGBox.setTitle(_translate("MainWindow", "EMG Data", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.recordTab), _translate("MainWindow", "Record", None))
self.featuresBox.setTitle(_translate("MainWindow", "Features", None))
self.MAVCheck.setText(_translate("MainWindow", "Mean Absolute Value", None))
self.RMSCheck.setText(_translate("MainWindow", "Root Mean Square", None))
self.VARCheck.setText(_translate("MainWindow", "Variance", None))
self.SSICheck.setText(_translate("MainWindow", "Simple Square Integral", None))
self.ZCCheck.setText(_translate("MainWindow", "Zero Crossings", None))
self.WLCheck.setText(_translate("MainWindow", "Wave Length", None))
self.SSCCheck.setText(_translate("MainWindow", "Slope Sign Changes", None))
self.WACheck.setText(_translate("MainWindow", "Willison Amplitude", None))
self.splitBox.setTitle(_translate("MainWindow", "Split Data", None))
self.label.setText(_translate("MainWindow", "Training Dataset:", None))
self.label_2.setText(_translate("MainWindow", "Test Dataset:", None))
self.splitBtn.setText(_translate("MainWindow", "Split", None))
self.trainBtn.setText(_translate("MainWindow", "Train", None))
self.resultsBox.setTitle(_translate("MainWindow", "Results", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.classifyTab), _translate("MainWindow", "Classify", None))
self.detectBox.setTitle(_translate("MainWindow", "Gesture Detected", None))
self.gestureSignal.setText(_translate("MainWindow", "SIGNAL", None))
self.startBtn.setText(_translate("MainWindow", "Start", None))
self.stopBtn_2.setText(_translate("MainWindow", "Stop", None))
self.currentBox.setTitle(_translate("MainWindow", "Current", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.testTab), _translate("MainWindow", "Test", None))
It is all executed from emgRun.py
import sys
import numpy as np
import pyqtgraph as pg
from PyQt4 import QtCore, QtGui
from emgesture import EMG_Classify as emg
from emgWindow_ui import Ui_MainWindow
data = emg.dataset
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())
so I'm creating a windows application with Python and PyQt4. I use Python 2.7.6. File ui converting I using pyuic4 form_window.ui -o form_window.py
from PyQt4 import QtCore, QtGui
import sys
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_MainWindow(QtGui.QMainWindowWidget):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.setupUi(self)
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(623, 359)
self.centralWidget = QtGui.QWidget(MainWindow)
self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
self.textEdit = QtGui.QTextEdit(self.centralWidget)
self.textEdit.setGeometry(QtCore.QRect(230, 40, 371, 281))
self.textEdit.setObjectName(_fromUtf8("textEdit"))
self.lineEdit = QtGui.QLineEdit(self.centralWidget)
self.lineEdit.setGeometry(QtCore.QRect(10, 40, 191, 23))
self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
self.lineEdit_2 = QtGui.QLineEdit(self.centralWidget)
self.lineEdit_2.setGeometry(QtCore.QRect(10, 80, 191, 23))
self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2"))
self.lineEdit_3 = QtGui.QLineEdit(self.centralWidget)
self.lineEdit_3.setGeometry(QtCore.QRect(10, 120, 191, 23))
self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3"))
self.label = QtGui.QLabel(self.centralWidget)
self.label.setGeometry(QtCore.QRect(240, 20, 59, 15))
self.label.setObjectName(_fromUtf8("label"))
self.label_2 = QtGui.QLabel(self.centralWidget)
self.label_2.setGeometry(QtCore.QRect(10, 20, 59, 15))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.label_3 = QtGui.QLabel(self.centralWidget)
self.label_3.setGeometry(QtCore.QRect(10, 60, 59, 21))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.label_4 = QtGui.QLabel(self.centralWidget)
self.label_4.setGeometry(QtCore.QRect(10, 100, 111, 21))
self.label_4.setObjectName(_fromUtf8("label_4"))
self.zapisz_btm = QtGui.QPushButton(self.centralWidget)
self.zapisz_btm.setGeometry(QtCore.QRect(20, 270, 80, 23))
self.zapisz_btm.setObjectName(_fromUtf8("zapisz_btm"))
MainWindow.setCentralWidget(self.centralWidget)
self.menuBar = QtGui.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 623, 20))
self.menuBar.setObjectName(_fromUtf8("menuBar"))
self.menuForm = QtGui.QMenu(self.menuBar)
self.menuForm.setObjectName(_fromUtf8("menuForm"))
MainWindow.setMenuBar(self.menuBar)
self.mainToolBar = QtGui.QToolBar(MainWindow)
self.mainToolBar.setObjectName(_fromUtf8("mainToolBar"))
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.mainToolBar)
self.statusBar = QtGui.QStatusBar(MainWindow)
self.statusBar.setObjectName(_fromUtf8("statusBar"))
MainWindow.setStatusBar(self.statusBar)
self.menuBar.addAction(self.menuForm.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
self.label.setText(_translate("MainWindow", "Opis", None))
self.label_2.setText(_translate("MainWindow", "Adres", None))
self.label_3.setText(_translate("MainWindow", "Tytul", None))
self.label_4.setText(_translate("MainWindow", "Slowa kluczowe", None))
self.zapisz_btm.setText(_translate("MainWindow", "Zapisz", None))
self.menuForm.setTitle(_translate("MainWindow", "Form", None))
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
ex = Ui_MainWindow()
ex.show()
sys.exit(app.exec_())
When I run my code I have error
Traceback (most recent call last):
File "/home/develop/PycharmProjects/untitled/form_window.py", line 18, in <module>
class Ui_MainWindow(QtGui.QMainWindowWidget):
AttributeError: 'module' object has no attribute 'QMainWindowWidget'
I have no idea what I'm doing wrong
I don't see a class QMainWindowWidget in the api: http://pyqt.sourceforge.net/Docs/PyQt4/qtgui.html
Are you sure you don't mean to inherit from QMainWindow instead?
This is undoubtedly a simple question, but I cannot seem to get it. All i want to do is run a function on a button click. I have created a .ui and converted it to a .py file and imported it as Ui_Dialog. The gui itself opens up fine and my pushButton is called btn_browseDEM and lineEdit is called lineEdit_DEM. Help??
class MyDialog(QDialog):
def __init__(self):
QDialog.__init__(self)
# Set up the user interface from Designer.
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.btn_browseDEM.clicked.connect(self.btn_browseDEM_clicked)
def btn_browseDEM_clicked(self):
self.ui.lineEdit_DEM.setText('hello')
app = QApplication(sys.argv)
window = QDialog()
gui = MyDialog()
gui.ui.setupUi(window)
window.show()
sys.exit(app.exec_())
converted ui file
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'C:\Python27\Scripts\PyQT\Example1.ui'
#
# Created: Thu Jul 31 20:40:38 2014
# by: PyQt4 UI code generator 4.10.3
#
# WARNING! All changes made in this file will be lost!
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_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName(_fromUtf8("Dialog"))
Dialog.resize(592, 640)
self.buttonBox = QtGui.QDialogButtonBox(Dialog)
self.buttonBox.setGeometry(QtCore.QRect(230, 600, 341, 32))
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
self.tabWidget = QtGui.QTabWidget(Dialog)
self.tabWidget.setGeometry(QtCore.QRect(20, 20, 551, 571))
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
self.tab = QtGui.QWidget()
self.tab.setObjectName(_fromUtf8("tab"))
self.lineEdit_DEM = QtGui.QLineEdit(self.tab)
self.lineEdit_DEM.setGeometry(QtCore.QRect(50, 83, 301, 20))
self.lineEdit_DEM.setObjectName(_fromUtf8("lineEdit_DEM"))
self.checkBox_2 = QtGui.QCheckBox(self.tab)
self.checkBox_2.setGeometry(QtCore.QRect(50, 250, 141, 17))
self.checkBox_2.setObjectName(_fromUtf8("checkBox_2"))
self.label = QtGui.QLabel(self.tab)
self.label.setGeometry(QtCore.QRect(20, 200, 61, 16))
font = QtGui.QFont()
font.setPointSize(9)
font.setBold(False)
font.setWeight(50)
self.label.setFont(font)
self.label.setLineWidth(2)
self.label.setObjectName(_fromUtf8("label"))
self.checkBox = QtGui.QCheckBox(self.tab)
self.checkBox.setGeometry(QtCore.QRect(50, 220, 151, 17))
self.checkBox.setObjectName(_fromUtf8("checkBox"))
self.checkBox_3 = QtGui.QCheckBox(self.tab)
self.checkBox_3.setGeometry(QtCore.QRect(50, 280, 141, 17))
self.checkBox_3.setObjectName(_fromUtf8("checkBox_3"))
self.label_4 = QtGui.QLabel(self.tab)
self.label_4.setGeometry(QtCore.QRect(50, 102, 371, 16))
self.label_4.setFrameShadow(QtGui.QFrame.Plain)
self.label_4.setObjectName(_fromUtf8("label_4"))
self.pushButton_2 = QtGui.QPushButton(self.tab)
self.pushButton_2.setGeometry(QtCore.QRect(360, 130, 75, 23))
self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
self.label_3 = QtGui.QLabel(self.tab)
self.label_3.setGeometry(QtCore.QRect(50, 60, 371, 16))
self.label_3.setFrameShadow(QtGui.QFrame.Plain)
self.label_3.setObjectName(_fromUtf8("label_3"))
self.btn_browseDEM = QtGui.QPushButton(self.tab)
self.btn_browseDEM.setGeometry(QtCore.QRect(360, 80, 75, 23))
self.btn_browseDEM.setObjectName(_fromUtf8("btn_browseDEM"))
self.lineEdit_2 = QtGui.QLineEdit(self.tab)
self.lineEdit_2.setGeometry(QtCore.QRect(50, 131, 301, 20))
self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2"))
self.line_7 = QtGui.QFrame(self.tab)
self.line_7.setGeometry(QtCore.QRect(10, 210, 521, 16))
self.line_7.setLineWidth(2)
self.line_7.setFrameShape(QtGui.QFrame.HLine)
self.line_7.setFrameShadow(QtGui.QFrame.Sunken)
self.line_7.setObjectName(_fromUtf8("line_7"))
self.line_8 = QtGui.QFrame(self.tab)
self.line_8.setGeometry(QtCore.QRect(10, 300, 521, 16))
self.line_8.setFrameShape(QtGui.QFrame.HLine)
self.line_8.setFrameShadow(QtGui.QFrame.Sunken)
self.line_8.setObjectName(_fromUtf8("line_8"))
self.line_9 = QtGui.QFrame(self.tab)
self.line_9.setGeometry(QtCore.QRect(10, 52, 521, 16))
self.line_9.setLineWidth(2)
self.line_9.setFrameShape(QtGui.QFrame.HLine)
self.line_9.setFrameShadow(QtGui.QFrame.Sunken)
self.line_9.setObjectName(_fromUtf8("line_9"))
self.line_10 = QtGui.QFrame(self.tab)
self.line_10.setGeometry(QtCore.QRect(10, 152, 521, 16))
self.line_10.setFrameShape(QtGui.QFrame.HLine)
self.line_10.setFrameShadow(QtGui.QFrame.Sunken)
self.line_10.setObjectName(_fromUtf8("line_10"))
self.label_20 = QtGui.QLabel(self.tab)
self.label_20.setGeometry(QtCore.QRect(20, 40, 61, 16))
font = QtGui.QFont()
font.setPointSize(9)
font.setBold(False)
font.setWeight(50)
self.label_20.setFont(font)
self.label_20.setObjectName(_fromUtf8("label_20"))
self.tabWidget.addTab(self.tab, _fromUtf8(""))
self.tab_3 = QtGui.QWidget()
self.tab_3.setObjectName(_fromUtf8("tab_3"))
self.label_10 = QtGui.QLabel(self.tab_3)
self.label_10.setGeometry(QtCore.QRect(80, 40, 351, 16))
self.label_10.setObjectName(_fromUtf8("label_10"))
self.lineEdit_7 = QtGui.QLineEdit(self.tab_3)
self.lineEdit_7.setGeometry(QtCore.QRect(40, 39, 31, 20))
self.lineEdit_7.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
self.lineEdit_7.setObjectName(_fromUtf8("lineEdit_7"))
self.label_11 = QtGui.QLabel(self.tab_3)
self.label_11.setGeometry(QtCore.QRect(40, 70, 481, 31))
self.label_11.setWordWrap(True)
self.label_11.setObjectName(_fromUtf8("label_11"))
self.label_12 = QtGui.QLabel(self.tab_3)
self.label_12.setGeometry(QtCore.QRect(30, 10, 491, 16))
self.label_12.setObjectName(_fromUtf8("label_12"))
self.checkBox_8 = QtGui.QCheckBox(self.tab_3)
self.checkBox_8.setGeometry(QtCore.QRect(20, 140, 341, 17))
self.checkBox_8.setObjectName(_fromUtf8("checkBox_8"))
self.lineEdit_8 = QtGui.QLineEdit(self.tab_3)
self.lineEdit_8.setGeometry(QtCore.QRect(40, 100, 81, 20))
self.lineEdit_8.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
self.lineEdit_8.setObjectName(_fromUtf8("lineEdit_8"))
self.label_17 = QtGui.QLabel(self.tab_3)
self.label_17.setGeometry(QtCore.QRect(50, 190, 351, 16))
self.label_17.setObjectName(_fromUtf8("label_17"))
self.label_15 = QtGui.QLabel(self.tab_3)
self.label_15.setGeometry(QtCore.QRect(100, 271, 351, 16))
self.label_15.setObjectName(_fromUtf8("label_15"))
self.lineEdit_9 = QtGui.QLineEdit(self.tab_3)
self.lineEdit_9.setGeometry(QtCore.QRect(60, 241, 301, 21))
self.lineEdit_9.setObjectName(_fromUtf8("lineEdit_9"))
self.comboBox = QtGui.QComboBox(self.tab_3)
self.comboBox.setGeometry(QtCore.QRect(80, 360, 261, 22))
self.comboBox.setObjectName(_fromUtf8("comboBox"))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.label_14 = QtGui.QLabel(self.tab_3)
self.label_14.setGeometry(QtCore.QRect(60, 221, 461, 16))
self.label_14.setObjectName(_fromUtf8("label_14"))
self.pushButton_4 = QtGui.QPushButton(self.tab_3)
self.pushButton_4.setGeometry(QtCore.QRect(370, 240, 75, 23))
self.pushButton_4.setObjectName(_fromUtf8("pushButton_4"))
self.lineEdit_10 = QtGui.QLineEdit(self.tab_3)
self.lineEdit_10.setGeometry(QtCore.QRect(60, 270, 31, 20))
self.lineEdit_10.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
self.lineEdit_10.setObjectName(_fromUtf8("lineEdit_10"))
self.label_13 = QtGui.QLabel(self.tab_3)
self.label_13.setGeometry(QtCore.QRect(20, 171, 351, 16))
self.label_13.setObjectName(_fromUtf8("label_13"))
self.lineEdit_12 = QtGui.QLineEdit(self.tab_3)
self.lineEdit_12.setGeometry(QtCore.QRect(60, 460, 301, 21))
self.lineEdit_12.setObjectName(_fromUtf8("lineEdit_12"))
self.label_19 = QtGui.QLabel(self.tab_3)
self.label_19.setGeometry(QtCore.QRect(60, 340, 261, 16))
self.label_19.setObjectName(_fromUtf8("label_19"))
self.label_16 = QtGui.QLabel(self.tab_3)
self.label_16.setGeometry(QtCore.QRect(60, 390, 461, 31))
self.label_16.setFrameShape(QtGui.QFrame.NoFrame)
self.label_16.setWordWrap(True)
self.label_16.setObjectName(_fromUtf8("label_16"))
self.lineEdit_11 = QtGui.QLineEdit(self.tab_3)
self.lineEdit_11.setGeometry(QtCore.QRect(60, 430, 301, 21))
self.lineEdit_11.setObjectName(_fromUtf8("lineEdit_11"))
self.label_18 = QtGui.QLabel(self.tab_3)
self.label_18.setGeometry(QtCore.QRect(50, 320, 351, 16))
self.label_18.setObjectName(_fromUtf8("label_18"))
self.line = QtGui.QFrame(self.tab_3)
self.line.setGeometry(QtCore.QRect(10, 330, 531, 20))
self.line.setLineWidth(2)
self.line.setFrameShape(QtGui.QFrame.HLine)
self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName(_fromUtf8("line"))
self.line_2 = QtGui.QFrame(self.tab_3)
self.line_2.setGeometry(QtCore.QRect(10, 180, 531, 20))
self.line_2.setLineWidth(2)
self.line_2.setFrameShape(QtGui.QFrame.HLine)
self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
self.line_2.setObjectName(_fromUtf8("line_2"))
self.line_3 = QtGui.QFrame(self.tab_3)
self.line_3.setGeometry(QtCore.QRect(10, 20, 531, 20))
self.line_3.setLineWidth(2)
self.line_3.setFrameShape(QtGui.QFrame.HLine)
self.line_3.setFrameShadow(QtGui.QFrame.Sunken)
self.line_3.setObjectName(_fromUtf8("line_3"))
self.line_4 = QtGui.QFrame(self.tab_3)
self.line_4.setGeometry(QtCore.QRect(10, 150, 531, 20))
self.line_4.setLineWidth(1)
self.line_4.setFrameShape(QtGui.QFrame.HLine)
self.line_4.setFrameShadow(QtGui.QFrame.Sunken)
self.line_4.setObjectName(_fromUtf8("line_4"))
self.line_5 = QtGui.QFrame(self.tab_3)
self.line_5.setGeometry(QtCore.QRect(10, 480, 531, 20))
self.line_5.setLineWidth(1)
self.line_5.setFrameShape(QtGui.QFrame.HLine)
self.line_5.setFrameShadow(QtGui.QFrame.Sunken)
self.line_5.setObjectName(_fromUtf8("line_5"))
self.line_6 = QtGui.QFrame(self.tab_3)
self.line_6.setGeometry(QtCore.QRect(10, 290, 531, 20))
self.line_6.setLineWidth(1)
self.line_6.setFrameShape(QtGui.QFrame.HLine)
self.line_6.setFrameShadow(QtGui.QFrame.Sunken)
self.line_6.setObjectName(_fromUtf8("line_6"))
self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
self.tab_2 = QtGui.QWidget()
self.tab_2.setObjectName(_fromUtf8("tab_2"))
self.lineEdit_3 = QtGui.QLineEdit(self.tab_2)
self.lineEdit_3.setGeometry(QtCore.QRect(24, 68, 31, 20))
self.lineEdit_3.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3"))
self.label_5 = QtGui.QLabel(self.tab_2)
self.label_5.setGeometry(QtCore.QRect(30, 40, 491, 16))
self.label_5.setObjectName(_fromUtf8("label_5"))
self.label_6 = QtGui.QLabel(self.tab_2)
self.label_6.setGeometry(QtCore.QRect(60, 70, 341, 16))
self.label_6.setObjectName(_fromUtf8("label_6"))
self.label_8 = QtGui.QLabel(self.tab_2)
self.label_8.setGeometry(QtCore.QRect(60, 130, 341, 16))
self.label_8.setObjectName(_fromUtf8("label_8"))
self.lineEdit_5 = QtGui.QLineEdit(self.tab_2)
self.lineEdit_5.setGeometry(QtCore.QRect(24, 128, 31, 20))
self.lineEdit_5.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
self.lineEdit_5.setObjectName(_fromUtf8("lineEdit_5"))
self.lineEdit_4 = QtGui.QLineEdit(self.tab_2)
self.lineEdit_4.setGeometry(QtCore.QRect(24, 99, 31, 20))
self.lineEdit_4.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
self.lineEdit_4.setObjectName(_fromUtf8("lineEdit_4"))
self.label_7 = QtGui.QLabel(self.tab_2)
self.label_7.setGeometry(QtCore.QRect(60, 101, 341, 16))
self.label_7.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
self.label_7.setObjectName(_fromUtf8("label_7"))
self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
self.tab_4 = QtGui.QWidget()
self.tab_4.setObjectName(_fromUtf8("tab_4"))
self.checkBox_7 = QtGui.QCheckBox(self.tab_4)
self.checkBox_7.setGeometry(QtCore.QRect(30, 40, 241, 17))
self.checkBox_7.setObjectName(_fromUtf8("checkBox_7"))
self.label_9 = QtGui.QLabel(self.tab_4)
self.label_9.setGeometry(QtCore.QRect(30, 70, 471, 61))
self.label_9.setWordWrap(True)
self.label_9.setObjectName(_fromUtf8("label_9"))
self.lineEdit_6 = QtGui.QLineEdit(self.tab_4)
self.lineEdit_6.setGeometry(QtCore.QRect(30, 141, 301, 21))
self.lineEdit_6.setObjectName(_fromUtf8("lineEdit_6"))
self.pushButton_3 = QtGui.QPushButton(self.tab_4)
self.pushButton_3.setGeometry(QtCore.QRect(340, 140, 75, 23))
self.pushButton_3.setObjectName(_fromUtf8("pushButton_3"))
self.tabWidget.addTab(self.tab_4, _fromUtf8(""))
self.retranslateUi(Dialog)
self.tabWidget.setCurrentIndex(0)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(_translate("Dialog", "Dialog", None))
self.checkBox_2.setText(_translate("Dialog", "Run depression areas?", None))
self.label.setText(_translate("Dialog", "TOOLS", None))
self.checkBox.setText(_translate("Dialog", "Run overland flow paths?", None))
self.checkBox_3.setText(_translate("Dialog", "Delineate catchments?", None))
self.label_4.setText(_translate("Dialog", "Set directory path where the results should be stored", None))
self.pushButton_2.setText(_translate("Dialog", "Browse", None))
self.label_3.setText(_translate("Dialog", "Set the path to your digital elevation model (must be in the Saga grid format)", None))
self.btn_browseDEM.setText(_translate("Dialog", "Browse", None))
self.label_20.setText(_translate("Dialog", "FOLDERS", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Dialog", "Inputs", None))
self.label_10.setText(_translate("Dialog", "Set the minimum overland flow path length to be mapped (m)", None))
self.lineEdit_7.setText(_translate("Dialog", "50", None))
self.label_11.setText(_translate("Dialog", "The minimum area (m┬▓) required to initate an overland flow path. To run for multiple areas specify as comma delimited e.g \'1000, 2000, 3000\'", None))
self.label_12.setText(_translate("Dialog", "Overland flow path parameters", None))
self.checkBox_8.setText(_translate("Dialog", "Estimate flows for overland flow paths using the rational method?", None))
self.lineEdit_8.setText(_translate("Dialog", "10000", None))
self.label_17.setText(_translate("Dialog", "Runoff coefficient parameters", None))
self.label_15.setText(_translate("Dialog", "Default runoff coefficient (if grid is not specified)", None))
self.comboBox.setItemText(0, _translate("Dialog", "Ramser Kirpch, Waikato Regional Council", None))
self.comboBox.setItemText(1, _translate("Dialog", "Bransby Williams, Waikato Regional Council", None))
self.comboBox.setItemText(2, _translate("Dialog", "Bransby Williams, Christchurch City Council", None))
self.label_14.setText(_translate("Dialog", "Location of the runoff coefficient grid (must be in the saga grid format)", None))
self.pushButton_4.setText(_translate("Dialog", "Browse", None))
self.lineEdit_10.setText(_translate("Dialog", "0.35", None))
self.label_13.setText(_translate("Dialog", "Please fill in the boxes below if you want flows...", None))
self.lineEdit_12.setText(_translate("Dialog", "10,20,30,60,120,360,720,1440,2880,4320", None))
self.label_19.setText(_translate("Dialog", "Select method for calculating time of concentration", None))
self.label_16.setText(_translate("Dialog", "Rainfall intensities (mm/hr) and durations to be used in the flow calculation (these will be interpolated using the time of concentration to get a corrseponding rainfall intensity)", None))
self.lineEdit_11.setText(_translate("Dialog", "129,92.7,76.6,55.3,33.6,15.3,9.4,5.7,3.5,2.6", None))
self.label_18.setText(_translate("Dialog", "Time of concentration parameters", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Dialog", "Overland Flow Paths", None))
self.lineEdit_3.setText(_translate("Dialog", "50", None))
self.label_5.setText(_translate("Dialog", "This module creates a lot of polygons, here you can specify filter parameters for the depression areas", None))
self.label_6.setText(_translate("Dialog", "Only depression areas with a volume exceeding xx m2 will be mapped", None))
self.label_8.setText(_translate("Dialog", "Only depression areas with a depth exceeding xx mm will be mapped", None))
self.lineEdit_5.setText(_translate("Dialog", "300", None))
self.lineEdit_4.setText(_translate("Dialog", "500", None))
self.label_7.setText(_translate("Dialog", "Only depression areas with an area exceeding xx m3 will be mapped", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Dialog", "Depression Areas", None))
self.checkBox_7.setText(_translate("Dialog", "Use overland flow paths generated by script?", None))
self.label_9.setText(_translate("Dialog", "<html><head/><body><p>If you do not want to use overland flow paths created by the script for delineating catchments, then you will need to browse to a shape file. The attribute table of the shape file must have a field named \'X_2\' containing the X co-ordinate of the catchment outlet and a field named \'Y_2\' containing the Y co-ordinate of the cathment outlet</p></body></html>", None))
self.pushButton_3.setText(_translate("Dialog", "Browse", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("Dialog", "Catchments", None))
You might want to show the created gui directly.
app = QApplication(sys.argv)
gui = MyDialog()
gui.show()
sys.exit(app.exec_())
I've created two windows using qt4 designer, and would like to link them together. I put them both in a folder and created a file outside the directory, which I'm importing them with.
I can open both windows at the same time, but that's not what I would like to do. I would like to make it so that when a button is pushed on one window, it opens the other window, then closes the first window, so the second window is the only one left open.
This is the code for the first window, with comments next to the button that I would like to have open the other window.
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_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(893, 591)
MainWindow.setMinimumSize(QtCore.QSize(893, 591))
MainWindow.setMaximumSize(QtCore.QSize(893, 591))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("images/turbulence.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
MainWindow.setStyleSheet(_fromUtf8(""))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.label_2 = QtGui.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(-10, 50, 911, 581))
self.label_2.setStyleSheet(_fromUtf8("background-color: rgb(0, 0, 0);"))
self.label_2.setText(_fromUtf8(""))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(-20, -10, 921, 71))
self.label.setStyleSheet(_fromUtf8("background-color: rgb(0, 37, 37);"))
self.label.setText(_fromUtf8(""))
self.label.setPixmap(QtGui.QPixmap(_fromUtf8("images/header.png")))
self.label.setObjectName(_fromUtf8("label"))
self.label_3 = QtGui.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(60, 0, 351, 51))
self.label_3.setStyleSheet(_fromUtf8("font: 20pt \"Sans Serif\";\n"
"color: rgb(0, 221, 221);"))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.label_4 = QtGui.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(-4, 73, 901, 41))
self.label_4.setStyleSheet(_fromUtf8("background-color: rgba(13, 247, 255, 72);"))
self.label_4.setText(_fromUtf8(""))
self.label_4.setObjectName(_fromUtf8("label_4"))
self.label_6 = QtGui.QLabel(self.centralwidget)
self.label_6.setGeometry(QtCore.QRect(110, 80, 31, 31))
self.label_6.setPixmap(QtGui.QPixmap(_fromUtf8("images/arrow.png")))
self.label_6.setObjectName(_fromUtf8("label_6"))
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(10, 80, 101, 31))
self.pushButton.setStyleSheet(_fromUtf8("font: 13pt \"Sans Serif\";\n"
"color: rgb(0, 255, 255);"))
self.pushButton.setFlat(True)
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.pushButton_2 = QtGui.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(140, 80, 81, 31))
self.pushButton_2.setStyleSheet(_fromUtf8("font: 12pt \"Sans Serif\";\n"
"color: rgb(0, 255, 255);"))
self.pushButton_2.setFlat(True)
self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
self.label_5 = QtGui.QLabel(self.centralwidget)
self.label_5.setGeometry(QtCore.QRect(6, 3, 51, 51))
self.label_5.setText(_fromUtf8(""))
self.label_5.setPixmap(QtGui.QPixmap(_fromUtf8("images/turbulence.png")))
self.label_5.setObjectName(_fromUtf8("label_5"))
self.label_7 = QtGui.QLabel(self.centralwidget)
self.label_7.setGeometry(QtCore.QRect(20, 150, 491, 91))
self.label_7.setStyleSheet(_fromUtf8("font: 30pt \"Sans Serif\";\n"
"color: rgb(0, 191, 191);"))
self.label_7.setObjectName(_fromUtf8("label_7"))
self.label_8 = QtGui.QLabel(self.centralwidget)
self.label_8.setGeometry(QtCore.QRect(60, 240, 831, 271))
self.label_8.setStyleSheet(_fromUtf8("color: rgb(0, 191, 191);\n"
"font: 10pt \"Sans Serif\";"))
self.label_8.setObjectName(_fromUtf8("label_8"))
self.label_9 = QtGui.QLabel(self.centralwidget)
self.label_9.setGeometry(QtCore.QRect(60, 350, 21, 21))
self.label_9.setPixmap(QtGui.QPixmap(_fromUtf8("images/bullet.png")))
self.label_9.setObjectName(_fromUtf8("label_9"))
self.label_10 = QtGui.QLabel(self.centralwidget)
self.label_10.setGeometry(QtCore.QRect(60, 380, 21, 21))
self.label_10.setPixmap(QtGui.QPixmap(_fromUtf8("images/bullet.png")))
self.label_10.setObjectName(_fromUtf8("label_10"))
self.label_11 = QtGui.QLabel(self.centralwidget)
self.label_11.setGeometry(QtCore.QRect(60, 410, 21, 21))
self.label_11.setPixmap(QtGui.QPixmap(_fromUtf8("images/bullet.png")))
self.label_11.setObjectName(_fromUtf8("label_11"))
self.label_12 = QtGui.QLabel(self.centralwidget)
self.label_12.setGeometry(QtCore.QRect(60, 450, 21, 31))
self.label_12.setPixmap(QtGui.QPixmap(_fromUtf8("images/bullet.png")))
self.label_12.setObjectName(_fromUtf8("label_12"))
self.label_13 = QtGui.QLabel(self.centralwidget)
self.label_13.setGeometry(QtCore.QRect(-10, 550, 911, 51))
self.label_13.setStyleSheet(_fromUtf8("background-color: rgba(13, 247, 255, 72);"))
self.label_13.setText(_fromUtf8(""))
self.label_13.setObjectName(_fromUtf8("label_13"))
self.pushButton_3 = QtGui.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(818, 560, 71, 21))
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8("images/arrow.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_3.setIcon(icon1)
self.pushButton_3.setIconSize(QtCore.QSize(20, 20))
self.pushButton_3.setObjectName(_fromUtf8("pushButton_3"))
self.pushButton_4 = QtGui.QPushButton(self.centralwidget)
self.pushButton_4.setGeometry(QtCore.QRect(10, 560, 71, 23))
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(_fromUtf8("images/cancel.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_4.setIcon(icon2)
self.pushButton_4.setObjectName(_fromUtf8("pushButton_4"))
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QObject.connect(self.pushButton_4, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.close)
QtCore.QObject.connect(self.pushButton_2, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.close) #This button
QtCore.QObject.connect(self.pushButton_3, QtCore.SIGNAL(_fromUtf8("clicke
import sysd()")), MainWindow.close) #And this button too.
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "Turbulence", None))
self.label_3.setText(_translate("MainWindow", "label3", None))
self.pushButton.setText(_translate("MainWindow", "Welcome", None))
self.pushButton_2.setText(_translate("MainWindow", "Folders", None))
self.label_7.setText(_translate("MainWindow", "label7", None))
self.label_8.setText(_translate("MainWindow", "label8", None))
self.pushButton_3.setText(_translate("MainWindow", "Next", None))
self.pushButton_4.setText(_translate("MainWindow", "Cancel", None))
And this is the code for the second window
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_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(893, 591)
MainWindow.setMinimumSize(QtCore.QSize(893, 591))
MainWindow.setMaximumSize(QtCore.QSize(893, 591))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("images/turbulence.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
MainWindow.setStyleSheet(_fromUtf8(""))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.label_2 = QtGui.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(-10, 50, 911, 581))
self.label_2.setStyleSheet(_fromUtf8("background-color: rgb(0, 0, 0);"))
self.label_2.setText(_fromUtf8(""))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(-20, -10, 921, 71))
self.label.setStyleSheet(_fromUtf8("background-color: rgb(0, 37, 37);"))
self.label.setText(_fromUtf8(""))
self.label.setPixmap(QtGui.QPixmap(_fromUtf8("../images/header.png")))
self.label.setObjectName(_fromUtf8("label"))
self.label_3 = QtGui.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(60, 0, 351, 51))
self.label_3.setStyleSheet(_fromUtf8("font: 20pt \"Sans Serif\";\n"
"color: rgb(0, 221, 221);"))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.label_4 = QtGui.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(-4, 73, 901, 41))
self.label_4.setStyleSheet(_fromUtf8("background-color: rgba(13, 247, 255, 72);"))
self.label_4.setText(_fromUtf8(""))
self.label_4.setObjectName(_fromUtf8("label_4"))
self.label_6 = QtGui.QLabel(self.centralwidget)
self.label_6.setGeometry(QtCore.QRect(100, 80, 31, 31))
self.label_6.setPixmap(QtGui.QPixmap(_fromUtf8("../images/arrow.png")))
self.label_6.setObjectName(_fromUtf8("label_6"))
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(10, 80, 91, 31))
self.pushButton.setStyleSheet(_fromUtf8("font: 13pt \"Sans Serif\";\n"
"color: rgb(0, 255, 255);"))
self.pushButton.setFlat(True)
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.pushButton_2 = QtGui.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(130, 80, 91, 31))
self.pushButton_2.setStyleSheet(_fromUtf8("font: 12pt \"Sans Serif\";\n"
"color: rgb(0, 255, 255);"))
self.pushButton_2.setFlat(True)
self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
self.label_5 = QtGui.QLabel(self.centralwidget)
self.label_5.setGeometry(QtCore.QRect(6, 3, 51, 51))
self.label_5.setText(_fromUtf8(""))
self.label_5.setPixmap(QtGui.QPixmap(_fromUtf8("../images/turbulence.png")))
self.label_5.setObjectName(_fromUtf8("label_5"))
self.label_13 = QtGui.QLabel(self.centralwidget)
self.label_13.setGeometry(QtCore.QRect(-10, 550, 911, 51))
self.label_13.setStyleSheet(_fromUtf8("background-color: rgba(13, 247, 255, 72);"))
self.label_13.setText(_fromUtf8(""))
self.label_13.setObjectName(_fromUtf8("label_13"))
self.pushButton_3 = QtGui.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(818, 560, 71, 21))
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8("../images/arrow.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_3.setIcon(icon1)
self.pushButton_3.setIconSize(QtCore.QSize(20, 20))
self.pushButton_3.setObjectName(_fromUtf8("pushButton_3"))
self.pushButton_4 = QtGui.QPushButton(self.centralwidget)
self.pushButton_4.setGeometry(QtCore.QRect(10, 560, 71, 23))
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(_fromUtf8("../images/cancel.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_4.setIcon(icon2)
self.pushButton_4.setObjectName(_fromUtf8("pushButton_4"))
self.pushButton_5 = QtGui.QPushButton(self.centralwidget)
self.pushButton_5.setGeometry(QtCore.QRect(720, 560, 91, 21))
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(_fromUtf8("../images/arrowreverse.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_5.setIcon(icon3)
self.pushButton_5.setIconSize(QtCore.QSize(20, 20))
self.pushButton_5.setObjectName(_fromUtf8("pushButton_5"))
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QObject.connect(self.pushButton_4, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.close)
QtCore.QObject.connect(self.pushButton_2, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.close)
QtCore.QObject.connect(self.pushButton_3, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.close)
QtCore.QObject.connect(self.pushButton_5, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.close)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "Turbulence", None))
self.label_3.setText(_translate("MainWindow", "Customize Your Desktop", None))
self.pushButton.setText(_translate("MainWindow", "Folders", None))
self.pushButton_2.setText(_translate("MainWindow", "Themes", None))
self.pushButton_3.setText(_translate("MainWindow", "Next", None))
self.pushButton_4.setText(_translate("MainWindow", "Cancel", None))
self.pushButton_5.setText(_translate("MainWindow", "Previous", None))
I think the way to do this might be to create a function which opens the second window, then closes the first, but I'm not sure if I should put this in the file I'm using to import these two windows, or the first window.
I can hook up the buttons to a function that would normally open up the other window, but when I click on the button nothing happens.
Thanks for any help.
You really need to reconsider the design of your application.
Opening and closing multiple main windows in the manner you describe is ugly and completely unnecessary. Instead, you should have one main window and use a QStackedWidget to hold a sequence of pages that can navigated through using buttons.
To experiment with this idea, create a new main window in Qt Designer and add a QStackedWidget to it (it's in the "Containers" section). Then open the two UIs you've already designed, and copy the widgets of each UI into separate pages of the stacked-widget.
Once you've done that, make sure you give all the widgets descriptive names, because you will need to refer to them later when you start writing the logic for your program. The main script of your application should look something like this:
from PyQt4 import QtCore, QtGui
from mainwindow_ui import Ui_MainWindow
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)
...
self.buttonNext.clicked.connect(self.handleButtonNext)
self.buttonPrev.clicked.connect(self.handleButtonPrev)
def handleButtonNext(self):
index = self.stackedWidget.currentIndex() + 1
if index < self.stackedWidget.count():
self.stackedWidget.setCurrentWidget(index)
def handleButtonPrev(self):
index = self.stackedWidget.currentIndex() - 1
if index >= 0:
self.stackedWidget.setCurrentWidget(index)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
Obviously, the real logic for your program will be more sophisticated than this, but it should give you a general idea of how to go about things.
PS:
I have never used it myself, but you might also want to see if the QWizard class might be more suitable for your needs.
Your question don't show much context but it seems you are new at PyQt and PyUIC tools.
That you post aren't (or not should be) the real windows of your app. Those class are generated for pyuic or pyuic4.
You must have something like:
class RealWindow(QMainWindow):
def __init__(parent=None):
super(RealWindow, self).__init__(parent) # Call QMainWindow constructor.
self.__ui = UI_MainWindow() # Here is when you should use that class.
self.__ui.setupUI(self) # And apply the properties to yout actual window
def on_some_button_clicked(*args, **args) # And here is where you do whatever you want to do when you press a button.
On the other hand, I'm not sure is a good idea having two main windows in the same app. I don't know even if Qt allow that at all.
I recommend you build one of your windows as a QDialog. Or build a single window with a set of controls you can hide or show at will.
I also recommend you: a pyqt tutorial