Related
I have a python app that change mac address with pyqt5 GUI. I have two python files. The main python file (mainWindow.py) that run main program then I press button to open the second window from second python file secondWindow.py. In second python file opens a window entry then I have to put letters and numbers like then I have to pass data in the first main app label window.
Can anyone help me to solve that?
I tried to reduce code.
mainWindow.py
#!/usr/bin/python3
import os
import sys
import subprocess
from PyQt5 import QtCore, QtGui, QtWidgets
from secondWindow import Ui_macSpecific
import macspoof_bash
import settings
macspoof_bash.write_to_ini()
# Read and write settings in macspoof.ini file
from configparser import ConfigParser
# instantiate
config = ConfigParser()
# parse existing file
config.read('/home/user/.config/macspoof/macspoof.ini')
# read values from a section
wired = config.get('ethernet', 'wired')
wireless = config.get('wifi', 'wireless')
class Ui_MainWindow(object):
def specificWindow(self):
self.window = QtWidgets.QDialog()
self.ui = Ui_macSpecific()
#self.ui.setupUi(self.window)
self.ui.setupUi(self.window, self) # <--- assign MainWindow as parent to second window
self.window.show()
def aboutWindow(self):
self.aboutWindow = QtWidgets.QDialog()
self.ui = Ui_Dialog()
self.ui.setupUi(self.aboutWindow)
self.aboutWindow.show()
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(480, 400)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setStyleSheet("background-color: rgb(36, 31, 49);\n"
"font: 11pt \"DejaVu Sans\";\n"
"color: rgb(246, 245, 244);")
self.label_3.setAlignment(QtCore.Qt.AlignCenter)
self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1)
self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.specificWindow())
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton_6.sizePolicy().hasHeightForWidth())
self.pushButton_6.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.pushButton_6.setFont(font)
self.pushButton_6.setObjectName("pushButton_6")
self.gridLayout.addWidget(self.pushButton_6, 4, 1, 1, 1)
self.pushButton = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.button_vendor_wired())
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
self.pushButton.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.pushButton.setFont(font)
self.pushButton.setObjectName("pushButton")
self.gridLayout.addWidget(self.pushButton, 2, 0, 1, 1)
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.button_fully_wired())
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton_3.sizePolicy().hasHeightForWidth())
self.pushButton_3.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.pushButton_3.setFont(font)
self.pushButton_3.setObjectName("pushButton_3")
self.gridLayout.addWidget(self.pushButton_3, 3, 0, 1, 1)
self.pushButton_8 = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.button_original_wireless())
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton_8.sizePolicy().hasHeightForWidth())
self.pushButton_8.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.pushButton_8.setFont(font)
self.pushButton_8.setLayoutDirection(QtCore.Qt.LeftToRight)
self.pushButton_8.setAutoFillBackground(False)
self.pushButton_8.setObjectName("pushButton_8")
self.gridLayout.addWidget(self.pushButton_8, 5, 1, 1, 1)
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.button_vendor_wireless())
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth())
self.pushButton_2.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.pushButton_2.setFont(font)
self.pushButton_2.setObjectName("pushButton_2")
self.gridLayout.addWidget(self.pushButton_2, 2, 1, 1, 1)
self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.button_original_wired())
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton_7.sizePolicy().hasHeightForWidth())
self.pushButton_7.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.pushButton_7.setFont(font)
self.pushButton_7.setObjectName("pushButton_7")
self.gridLayout.addWidget(self.pushButton_7, 5, 0, 1, 1)
self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.specificWindow())
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton_5.sizePolicy().hasHeightForWidth())
self.pushButton_5.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.pushButton_5.setFont(font)
self.pushButton_5.setObjectName("pushButton_5")
self.gridLayout.addWidget(self.pushButton_5, 4, 0, 1, 1)
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setStyleSheet("background-color: rgb(36, 31, 49);\n"
"font: 11pt \"DejaVu Sans\";\n"
"color: rgb(246, 245, 244);")
self.label_4.setObjectName("label_4")
self.label_4.setAlignment(QtCore.Qt.AlignCenter)
self.gridLayout.addWidget(self.label_4, 1, 1, 1, 1)
self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget, clicked = lambda: self.button_fully_wireless())
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton_4.sizePolicy().hasHeightForWidth())
self.pushButton_4.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.pushButton_4.setFont(font)
self.pushButton_4.setObjectName("pushButton_4")
self.gridLayout.addWidget(self.pushButton_4, 3, 1, 1, 1)
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setMinimumSize(QtCore.QSize(0, 0))
self.label.setSizeIncrement(QtCore.QSize(0, 0))
self.label.setStyleSheet("background-color: rgb(36, 31, 49);\n"
"font: 11pt \"DejaVu Sans\";\n"
"color: rgb(246, 245, 244);")
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setStyleSheet("background-color: rgb(36, 31, 49);\n"
"font: 11pt \"DejaVu Sans\";\n"
"color: rgb(246, 245, 244);")
self.label_2.setObjectName("label_2")
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.gridLayout.addWidget(self.label_2, 0, 1, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 480, 20))
self.menubar.setObjectName("menubar")
self.menuFile = QtWidgets.QMenu(self.menubar)
self.menuFile.setObjectName("menuFile")
self.menuEdit = QtWidgets.QMenu(self.menubar)
self.menuEdit.setObjectName("menuEdit")
self.menuHelp = QtWidgets.QMenu(self.menubar)
self.menuHelp.setObjectName("menuHelp")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.actionExit = QtWidgets.QAction(MainWindow)
self.actionExit.triggered.connect(lambda: self.close_window())
self.actionExit.setObjectName("actionExit")
self.actionPreferences = QtWidgets.QAction(MainWindow)
self.actionPreferences.setObjectName("actionPreferences")
self.actionAbout = QtWidgets.QAction(MainWindow)
self.actionAbout.triggered.connect(lambda: self.aboutWindow())
self.actionAbout.setObjectName("actionAbout")
self.menuFile.addAction(self.actionExit)
self.menuEdit.addAction(self.actionPreferences)
self.menuHelp.addAction(self.actionAbout)
self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuEdit.menuAction())
self.menubar.addAction(self.menuHelp.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
self.update_wired_label(MainWindow)
self.update_wired_mac_address_label(MainWindow)
self.update_wireless_label(MainWindow)
self.update_wireless_mac_address_label(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MAC address spoofing"))
self.label_3.setText(_translate("MainWindow", "TextLabel"))
self.pushButton_6.setText(_translate("MainWindow", "Set the MAC"))
self.pushButton.setText(_translate("MainWindow", "Don\'t change vendor bytes"))
self.pushButton_3.setText(_translate("MainWindow", "Set fully random MAC"))
self.pushButton_8.setText(_translate("MainWindow", "Reset MAC address to its original"))
self.pushButton_2.setText(_translate("MainWindow", "Don\'t change vendor bytes"))
self.pushButton_7.setText(_translate("MainWindow", "Reset MAC address to its original"))
self.pushButton_5.setText(_translate("MainWindow", "Set the MAC"))
self.label_4.setText(_translate("MainWindow", "TextLabel"))
self.pushButton_4.setText(_translate("MainWindow", "Set fully random MAC"))
self.label.setText(_translate("MainWindow", "TextLabel"))
self.label_2.setText(_translate("MainWindow", "TextLabel"))
self.menuFile.setTitle(_translate("MainWindow", "File"))
self.menuEdit.setTitle(_translate("MainWindow", "Settings"))
self.menuHelp.setTitle(_translate("MainWindow", "Help"))
self.actionExit.setText(_translate("MainWindow", "Exit"))
self.actionPreferences.setText(_translate("MainWindow", "Preferences"))
self.actionAbout.setText(_translate("MainWindow", "About"))
def update_wired_label(self, MainWindow):
print('update_wired_label')
self.wired = config.get('ethernet', 'wired')
self.label.setText(str(self.wired))
def update_wired_mac_address_label(self, MainWindow):
print('update_wired_mac_address_label')
config.read('/home/user/.config/macspoof/macspoof.ini')
self.wired_mac_address = config.get('ethernet', 'wired_mac_address')
self.label_3.setText(str(self.wired_mac_address))
def update_wireless_label(self, MainWindow):
print('update_wireless_label')
self.wireless = config.get('wifi', 'wireless')
self.label_2.setText(str(self.wireless))
def update_wireless_mac_address_label(self, MainWindow):
print('update_wireless_mac_address_label')
config.read('/home/user/.config/macspoof/macspoof.ini')
self.wireless_mac_address = config.get('wifi', 'wireless_mac_address')
self.label_4.setText(str(self.wireless_mac_address))
def button_vendor_wired(self):
print('vendor_wired')
subprocess.run(['macchanger', '-e', wired])
macspoof_bash.vendor_wired()
self.update_wired_mac_address_label(MainWindow)
def button_fully_wired(self):
print('fully wired')
subprocess.run(['macchanger', '-r', wired])
macspoof_bash.write_to_ini()
self.update_wired_mac_address_label(MainWindow)
#def button_specific_wired(self):
# print('specific wired')
# subprocess.run(["macchanger", "-m", wired])
def button_original_wired(self):
print('original wired')
subprocess.run(['macchanger', '-p', wired])
macspoof_bash.write_to_ini()
self.update_wired_mac_address_label(MainWindow)
def button_vendor_wireless(self):
print('vendor_wireless')
subprocess.run(['macchanger', '-e', wireless])
macspoof_bash.vendor_wireless()
self.update_wireless_mac_address_label(MainWindow)
def button_fully_wireless(self):
print('fully wireless')
#wireless = config.get("wifi", "wireless")
#subprocess.run(['macchanger', '-r', wired])
macspoof_bash.fully_wireless()
self.update_wireless_mac_address_label(MainWindow)
def button_specific_wireless(self):
print('specific wired')
subprocess.run(["macchanger", "-m", wireless])
def button_original_wireless(self):
print('original wireless')
subprocess.run(['macchanger', '-p', wireless])
macspoof_bash.write_to_ini()
self.update_wireless_mac_address_label(MainWindow)
def close_window(self):
print("Quit")
sys.exit()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
secondWindow.py
from PyQt5 import QtCore, QtGui, QtWidgets
# Read and write settings in macspoof.ini file
from configparser import ConfigParser
# instantiate
config = ConfigParser()
# parse existing file
config.read('macspoof.ini')
# read values from a section
wired = config.get('ethernet', 'wired')
wired_mac_address = config.get('ethernet', 'wired_mac_address')
class Ui_macSpecific(object):
def setupUi(self, macSpecific, parent): # <--- add extra parameter parent
self.parent = parent # < --- create new attribute parent
#def setupUi(self, macSpecific):
macSpecific.setObjectName("macSpecific")
macSpecific.resize(301, 140)
self.gridLayout = QtWidgets.QGridLayout(macSpecific)
self.gridLayout.setObjectName("gridLayout")
self.label = QtWidgets.QLabel(macSpecific)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(10)
self.label.setFont(font)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.lineEdit = QtWidgets.QLineEdit(macSpecific)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lineEdit.sizePolicy().hasHeightForWidth())
self.lineEdit.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(14)
self.lineEdit.setFont(font)
self.lineEdit.setLayoutDirection(QtCore.Qt.LeftToRight)
self.lineEdit.setAutoFillBackground(False)
self.lineEdit.setAlignment(QtCore.Qt.AlignCenter)
self.lineEdit.setObjectName("lineEdit")
self.gridLayout.addWidget(self.lineEdit, 1, 0, 1, 1)
self.pushButton = QtWidgets.QPushButton(macSpecific, clicked = lambda: self.submit())
self.pushButton.setObjectName("pushButton")
self.gridLayout.addWidget(self.pushButton, 2, 0, 1, 1)
self.retranslateUi(macSpecific)
QtCore.QMetaObject.connectSlotsByName(macSpecific)
def retranslateUi(self, macSpecific):
_translate = QtCore.QCoreApplication.translate
macSpecific.setWindowTitle(_translate("macSpecific", "MAC address spoofing"))
self.label.setText(_translate("macSpecific", "Enter A MAC address"))
self.lineEdit.setText(_translate("macSpecific", "11:22:33:44:55:66"))
self.pushButton.setText(_translate("macSpecific", "Submit"))
def submit(self):
print("submit")
#self.parent.label_3.setText(str(self.wired_mac_address)) # use parent to set label text
self.parent.label_3.setText(str(self.parent.wired_mac_address)) # <-----Try this then.
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
macSpecific = QtWidgets.QDialog()
ui = Ui_macSpecific()
ui.setupUi(macSpecific)
macSpecific.show()
sys.exit(app.exec_())
One solution would be to assign the MainWindow as the parent of the SecondWindow. Then to get the label text all the SecondWindow has to do is self.parent.label.setText('something'). See the minor adjustments I made below.
mainWindow.py
class Ui_MainWindow(object):
def specificWindow(self):
self.window = QtWidgets.QDialog()
self.ui = Ui_macSpecific()
self.ui.setupUi(self.window, self) # <--- assign MainWindow as parent to second window
self.window.show()
secondWindow.py
import macspoof_bash
class Ui_macSpecific(object):
def setupUi(self, macSpecific, master):
self.master = master
self.window = macSpecific
macSpecific.setObjectName("macSpecific")
macSpecific.resize(301, 140)
...
...
self.pushButton = QtWidgets.QPushButton(macSpecific, clicked = lambda: self.submit())
def submit(self):
print("submit")
text = self.lineEdit.text()
self.master.label_3.setText(text)
self.window.close()
config['ethernet']['wired_mac_address'] = text
with open("macspoof.ini", "w") as inifile:
config.write(inifile)
I tried writing some codes using pyqt5 and have two main windows and push buttons, for both cases I have done same but one works on clicked.connect and one doesn't. Pasting code for the button which doesn't work. I call this window after closing first one
I tried creating module outside of class and that worked but then struggled with referencing to lineEdit objects
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
app = QtWidgets.QApplication(sys.argv)
PREMIX = QtWidgets.QMainWindow()
logo = QtGui.QIcon()
def init_login():
ui = Ui_PREMIXlogin()
ui.setupUi(PREMIX)
PREMIX.show()
sys.exit(app.exec_())
def close_login():
PREMIX.hide()
def init_main():
ui = Ui_PREMIX()
ui.setupUi(PREMIX)
PREMIX.show()
class Ui_PREMIXlogin(object):
def setupUi(self, PREMIXlogin):
PREMIXlogin.setObjectName("PREMIXlogin")
PREMIXlogin.setEnabled(True)
PREMIXlogin.resize(280, 319)
sizePolicy = QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed
)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(
PREMIXlogin.sizePolicy().hasHeightForWidth()
)
PREMIXlogin.setSizePolicy(sizePolicy)
PREMIXlogin.setMinimumSize(QtCore.QSize(280, 319))
PREMIXlogin.setMaximumSize(QtCore.QSize(280, 319))
PREMIXlogin.setMouseTracking(False)
PREMIXlogin.setWindowIcon(logo)
PREMIXlogin.setAutoFillBackground(False)
PREMIXlogin.setStyleSheet("background-color: rgb(255, 255, 255);")
self.centralwidget = QtWidgets.QWidget(PREMIXlogin)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(36, 190, 61, 20))
font = QtGui.QFont()
font.setPointSize(10)
self.label.setFont(font)
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(36, 220, 61, 20))
font = QtGui.QFont()
font.setPointSize(10)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(110, 190, 113, 20))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(110, 220, 113, 20))
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.lineEdit_2.setFont(font)
self.lineEdit_2.setInputMethodHints(
QtCore.Qt.ImhHiddenText
| QtCore.Qt.ImhNoAutoUppercase
| QtCore.Qt.ImhNoPredictiveText
| QtCore.Qt.ImhSensitiveData
)
self.lineEdit_2.setFrame(True)
self.lineEdit_2.setEchoMode(QtWidgets.QLineEdit.Password)
self.lineEdit_2.setObjectName("lineEdit_2")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(100, 260, 81, 31))
font = QtGui.QFont()
font.setPointSize(11)
font.setBold(False)
font.setWeight(50)
self.pushButton.setFont(font)
self.pushButton.setAutoFillBackground(False)
self.pushButton.setStyleSheet("background-color: rgb(222, 31, 38);")
self.pushButton.setObjectName("pushButton")
self.frame = QtWidgets.QFrame(self.centralwidget)
self.frame.setGeometry(QtCore.QRect(30, 20, 231, 151))
self.frame.setStyleSheet(
"image: url(:/images/59301307_2353273704903079_3349139235981492224_n.png);"
)
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
PREMIXlogin.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(PREMIXlogin)
self.statusbar.setObjectName("statusbar")
PREMIXlogin.setStatusBar(self.statusbar)
self.retranslateUi(PREMIXlogin)
QtCore.QMetaObject.connectSlotsByName(PREMIXlogin)
def retranslateUi(self, PREMIXlogin):
_translate = QtCore.QCoreApplication.translate
PREMIXlogin.setWindowTitle(_translate("PREMIXlogin", "PREMIX Login"))
self.label.setText(_translate("PREMIXlogin", "Username"))
self.label_2.setText(_translate("PREMIXlogin", "Password"))
self.pushButton.setText(_translate("PREMIXlogin", "Log in"))
self.pushButton.clicked.connect(self.on_click)
def on_click(self):
if True:
close_login()
init_main()
class Ui_PREMIX(object):
def setupUi(self, PREMIX):
PREMIX.setObjectName("PREMIX")
PREMIX.resize(473, 179)
sizePolicy = QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed
)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(PREMIX.sizePolicy().hasHeightForWidth())
PREMIX.setSizePolicy(sizePolicy)
PREMIX.setMinimumSize(QtCore.QSize(473, 179))
PREMIX.setMaximumSize(QtCore.QSize(473, 179))
PREMIX.setStyleSheet("background-color: rgb(255, 255, 255);")
PREMIX.setWindowIcon(logo)
self.centralwidget = QtWidgets.QWidget(PREMIX)
self.centralwidget.setObjectName("centralwidget")
self.Product = QtWidgets.QLabel(self.centralwidget)
self.Product.setGeometry(QtCore.QRect(30, 20, 61, 20))
font = QtGui.QFont()
font.setPointSize(13)
self.Product.setFont(font)
self.Product.setObjectName("Product")
self.Productname = QtWidgets.QLineEdit(self.centralwidget)
self.Productname.setGeometry(QtCore.QRect(100, 20, 251, 20))
self.Productname.setObjectName("Productname")
self.Checkbutton = QtWidgets.QPushButton(self.centralwidget)
self.Checkbutton.setGeometry(QtCore.QRect(370, 20, 81, 21))
font = QtGui.QFont()
font.setPointSize(11)
font.setBold(False)
font.setWeight(50)
self.Checkbutton.setFont(font)
self.Checkbutton.setAutoFillBackground(False)
self.Checkbutton.setStyleSheet("background-color: rgb(222, 31, 38);")
self.Checkbutton.setObjectName("Checkbutton")
self.logo = QtWidgets.QFrame(self.centralwidget)
self.logo.setGeometry(QtCore.QRect(359, 60, 101, 80))
self.logo.setStyleSheet(
"image: url(:/images/59301307_2353273704903079_3349139235981492224_n.png);"
)
self.logo.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.logo.setFrameShadow(QtWidgets.QFrame.Raised)
self.logo.setObjectName("logo")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(180, 80, 91, 31))
self.lineEdit.setMinimumSize(QtCore.QSize(89, 31))
self.lineEdit.setMaximumSize(QtCore.QSize(91, 31))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit.setReadOnly(True)
PREMIX.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(PREMIX)
self.statusbar.setObjectName("statusbar")
PREMIX.setStatusBar(self.statusbar)
self.retranslateUi(PREMIX)
QtCore.QMetaObject.connectSlotsByName(PREMIX)
def retranslateUi(self, PREMIX):
_translate = QtCore.QCoreApplication.translate
PREMIX.setWindowTitle(_translate("PREMIX", "PREMIX"))
self.Product.setText(_translate("PREMIX", "Product"))
self.Checkbutton.setText(_translate("PREMIX", "Check"))
self.Checkbutton.clicked.connect(self.on_click)
def on_click(self):
print("aaaaaa")
product = self.Productname.text()
print(product)
def main():
init_login()
if __name__ == "__main__":
main()
I want Checkbutton on click event to work, please help
For Ui_Premix, used self.Checkbutton.clicked.connect(Ui_PREMIX.on_click) instead of
self.on_click even though on_click event was inside class, it works now
I'm using python 2.7 with pyqt 4.10 and I've created this UI using QT designer and I am trying to find the actions on the toolbar to add some function calling to it, but I can't find it
# -*- coding: utf-8 -*-
# Form implementation generated from reading UI file 'Warehouse.ui'
#
# Created: Mon Mar 19 19:13:01 2018
# by: PyQt4 UI code generator 4.10
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
import item_entry
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(1262, 698)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/wh.ico")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
mainWindow.setWindowIcon(icon)
self.centralwidget = QtGui.QWidget(mainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.gridLayout = QtGui.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.comboBox = QtGui.QComboBox(self.centralwidget)
self.comboBox.setObjectName(_fromUtf8("comboBox"))
self.gridLayout.addWidget(self.comboBox, 1, 0, 1, 1)
self.tabWidget = QtGui.QTabWidget(self.centralwidget)
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
self.items_tab = QtGui.QWidget()
self.items_tab.setObjectName(_fromUtf8("items_tab"))
self.listView = QtGui.QListView(self.items_tab, )
self.listView.setGeometry(QtCore.QRect(0, 0, 481, 521))
self.listView.setObjectName(_fromUtf8("listView"))
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/item_icon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.items_tab, icon1, _fromUtf8(""))
self.category_tab = QtGui.QWidget()
self.category_tab.setObjectName(_fromUtf8("category_tab"))
self.listView_2 = QtGui.QListView(self.category_tab)
self.listView_2.setEnabled(True)
self.listView_2.setGeometry(QtCore.QRect(0, 0, 481, 521))
self.listView_2.setObjectName(_fromUtf8("listView_2"))
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/cat_icon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.category_tab, icon2, _fromUtf8(""))
self.gridLayout.addWidget(self.tabWidget, 2, 0, 1, 1)
self.horizontalLayout = QtGui.QHBoxLayout()
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
self.verticalLayout_3 = QtGui.QVBoxLayout()
self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
self.label_3 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(16)
self.label_3.setFont(font)
self.label_3.setObjectName(_fromUtf8("label_3"))
self.verticalLayout_3.addWidget(self.label_3)
self.label_2 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(16)
self.label_2.setFont(font)
self.label_2.setObjectName(_fromUtf8("label_2"))
self.verticalLayout_3.addWidget(self.label_2)
self.horizontalLayout.addLayout(self.verticalLayout_3)
self.verticalLayout_2 = QtGui.QVBoxLayout()
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.lineEdit = QtGui.QLineEdit(self.centralwidget)
self.lineEdit.setEnabled(True)
self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
self.verticalLayout_2.addWidget(self.lineEdit)
self.lineEdit_3 = QtGui.QLineEdit(self.centralwidget)
self.lineEdit_3.setEnabled(True)
self.lineEdit_3.setEchoMode(QtGui.QLineEdit.Password)
self.lineEdit_3.setObjectName(_fromUtf8("lineEdit_3"))
self.verticalLayout_2.addWidget(self.lineEdit_3)
self.horizontalLayout.addLayout(self.verticalLayout_2)
self.gridLayout.addLayout(self.horizontalLayout, 0, 2, 1, 1)
self.verticalLayout = QtGui.QVBoxLayout()
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.label_5 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(18)
font.setBold(False)
font.setWeight(50)
self.label_5.setFont(font)
self.label_5.setObjectName(_fromUtf8("label_5"))
self.verticalLayout.addWidget(self.label_5)
self.gridLayout.addLayout(self.verticalLayout, 0, 4, 1, 1)
self.label = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(36)
self.label.setFont(font)
self.label.setObjectName(_fromUtf8("label"))
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem, 0, 1, 1, 1)
self.verticalLayout_4 = QtGui.QVBoxLayout()
self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
self.horizontalLayout_2 = QtGui.QHBoxLayout()
self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
self.label_4 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(20)
self.label_4.setFont(font)
self.label_4.setLineWidth(5)
self.label_4.setObjectName(_fromUtf8("label_4"))
self.horizontalLayout_2.addWidget(self.label_4)
self.label_6 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(28)
self.label_6.setFont(font)
self.label_6.setObjectName(_fromUtf8("label_6"))
self.horizontalLayout_2.addWidget(self.label_6)
self.verticalLayout_4.addLayout(self.horizontalLayout_2)
self.horizontalLayout_3 = QtGui.QHBoxLayout()
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
self.label_7 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(24)
self.label_7.setFont(font)
self.label_7.setObjectName(_fromUtf8("label_7"))
self.horizontalLayout_3.addWidget(self.label_7)
self.lcdNumber = QtGui.QLCDNumber(self.centralwidget)
self.lcdNumber.setFrameShape(QtGui.QFrame.NoFrame)
self.lcdNumber.setObjectName(_fromUtf8("lcdNumber"))
self.horizontalLayout_3.addWidget(self.lcdNumber)
self.verticalLayout_4.addLayout(self.horizontalLayout_3)
self.gridLayout.addLayout(self.verticalLayout_4, 2, 1, 1, 2)
self.gridLayout_2 = QtGui.QGridLayout()
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
self.lcdNumber_4 = QtGui.QLCDNumber(self.centralwidget)
self.lcdNumber_4.setObjectName(_fromUtf8("lcdNumber_4"))
self.gridLayout_2.addWidget(self.lcdNumber_4, 2, 1, 1, 1)
self.label_10 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(20)
self.label_10.setFont(font)
self.label_10.setObjectName(_fromUtf8("label_10"))
self.gridLayout_2.addWidget(self.label_10, 2, 0, 1, 1)
self.lcdNumber_2 = QtGui.QLCDNumber(self.centralwidget)
self.lcdNumber_2.setObjectName(_fromUtf8("lcdNumber_2"))
self.gridLayout_2.addWidget(self.lcdNumber_2, 0, 1, 1, 1)
self.label_9 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(20)
self.label_9.setFont(font)
self.label_9.setObjectName(_fromUtf8("label_9"))
self.gridLayout_2.addWidget(self.label_9, 0, 0, 1, 1)
self.lcdNumber_3 = QtGui.QLCDNumber(self.centralwidget)
self.lcdNumber_3.setObjectName(_fromUtf8("lcdNumber_3"))
self.gridLayout_2.addWidget(self.lcdNumber_3, 1, 1, 1, 1)
self.label_8 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(20)
self.label_8.setFont(font)
self.label_8.setObjectName(_fromUtf8("label_8"))
self.gridLayout_2.addWidget(self.label_8, 1, 0, 1, 1)
self.label_11 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(20)
self.label_11.setFont(font)
self.label_11.setObjectName(_fromUtf8("label_11"))
self.gridLayout_2.addWidget(self.label_11, 0, 2, 1, 1)
self.label_12 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(20)
self.label_12.setFont(font)
self.label_12.setObjectName(_fromUtf8("label_12"))
self.gridLayout_2.addWidget(self.label_12, 1, 2, 1, 1)
self.label_13 = QtGui.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(20)
self.label_13.setFont(font)
self.label_13.setObjectName(_fromUtf8("label_13"))
self.gridLayout_2.addWidget(self.label_13, 2, 2, 1, 1)
self.gridLayout.addLayout(self.gridLayout_2, 2, 4, 1, 1)
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setEnabled(True)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.pushButton.sizePolicy().hasHeightForWidth())
self.pushButton.setSizePolicy(sizePolicy)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(14)
self.pushButton.setFont(font)
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.gridLayout.addWidget(self.pushButton, 1, 2, 1, 1)
self.pushButton_2 = QtGui.QPushButton(self.centralwidget)
self.pushButton_2.setEnabled(False)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Adobe Arabic"))
font.setPointSize(16)
self.pushButton_2.setFont(font)
self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
self.gridLayout.addWidget(self.pushButton_2, 0, 3, 1, 1)
mainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(mainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1262, 21))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.menu = QtGui.QMenu(self.menubar)
self.menu.setObjectName(_fromUtf8("menu"))
self.menu_2 = QtGui.QMenu(self.menubar)
self.menu_2.setObjectName(_fromUtf8("menu_2"))
self.menu_3 = QtGui.QMenu(self.menubar)
self.menu_3.setObjectName(_fromUtf8("menu_3"))
self.menu_4 = QtGui.QMenu(self.menubar)
self.menu_4.setObjectName(_fromUtf8("menu_4"))
self.menu_5 = QtGui.QMenu(self.menubar)
self.menu_5.setObjectName(_fromUtf8("menu_5"))
mainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(mainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
mainWindow.setStatusBar(self.statusbar)
self.toolBar = QtGui.QToolBar(mainWindow)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.toolBar.sizePolicy().hasHeightForWidth())
self.toolBar.setSizePolicy(sizePolicy)
self.toolBar.setMovable(False)
self.toolBar.setIconSize(QtCore.QSize(100, 100))
self.toolBar.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
self.toolBar.setFloatable(False)
self.toolBar.setObjectName(_fromUtf8("toolBar"))
mainWindow.addToolBar(QtCore.Qt.RightToolBarArea, self.toolBar)
self.action = QtGui.QAction(mainWindow)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/in.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.action.setIcon(icon3)
self.action.setObjectName(_fromUtf8("action"))
self.action_3 = QtGui.QAction(mainWindow)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/edit.svg")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.action_3.setIcon(icon4)
self.action_3.setObjectName(_fromUtf8("action_3"))
self.action_4 = QtGui.QAction(mainWindow)
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/out.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.action_4.setIcon(icon5)
self.action_4.setObjectName(_fromUtf8("action_4"))
self.action_5 = QtGui.QAction(mainWindow)
self.action_5.setIcon(icon3)
self.action_5.setObjectName(_fromUtf8("action_5"))
self.action_7 = QtGui.QAction(mainWindow)
self.action_7.setIcon(icon1)
self.action_7.setObjectName(_fromUtf8("action_7"))
self.action_8 = QtGui.QAction(mainWindow)
self.action_8.setIcon(icon5)
self.action_8.setObjectName(_fromUtf8("action_8"))
self.new_item_entry = QtGui.QAction(mainWindow)
self.new_item_entry.setCheckable(False)
self.new_item_entry.setIcon(icon3)
self.new_item_entry.setObjectName(_fromUtf8("new_item_entry"))
self.exiting_item = QtGui.QAction(mainWindow)
self.exiting_item.setIcon(icon5)
self.exiting_item.setObjectName(_fromUtf8("exiting_item"))
self.item_edit_name = QtGui.QAction(mainWindow)
self.item_edit_name.setIcon(icon4)
self.item_edit_name.setObjectName(_fromUtf8("item_edit_name"))
self.action_9 = QtGui.QAction(mainWindow)
icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/close.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.action_9.setIcon(icon6)
self.action_9.setObjectName(_fromUtf8("action_9"))
self.action_10 = QtGui.QAction(mainWindow)
self.action_10.setIcon(icon3)
self.action_10.setObjectName(_fromUtf8("action_10"))
self.action_11 = QtGui.QAction(mainWindow)
self.action_11.setIcon(icon5)
self.action_11.setObjectName(_fromUtf8("action_11"))
self.action_13 = QtGui.QAction(mainWindow)
self.action_13.setIcon(icon4)
self.action_13.setObjectName(_fromUtf8("action_13"))
self.action_15 = QtGui.QAction(mainWindow)
self.action_15.setIcon(icon4)
self.action_15.setObjectName(_fromUtf8("action_15"))
self.action_16 = QtGui.QAction(mainWindow)
self.action_16.setIcon(icon6)
self.action_16.setObjectName(_fromUtf8("action_16"))
self.action_17 = QtGui.QAction(mainWindow)
self.action_17.setObjectName(_fromUtf8("action_17"))
self.action_18 = QtGui.QAction(mainWindow)
self.action_18.setObjectName(_fromUtf8("action_18"))
self.action_19 = QtGui.QAction(mainWindow)
icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/save.ico")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.action_19.setIcon(icon7)
self.action_19.setObjectName(_fromUtf8("action_19"))
self.action_20 = QtGui.QAction(mainWindow)
icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/media/media/restore.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.action_20.setIcon(icon8)
self.action_20.setObjectName(_fromUtf8("action_20"))
self.action_22 = QtGui.QAction(mainWindow)
self.action_22.setIcon(icon6)
self.action_22.setObjectName(_fromUtf8("action_22"))
self.menu.addAction(self.action)
self.menu.addSeparator()
self.menu.addAction(self.action_3)
self.menu.addAction(self.action_4)
self.menu_2.addAction(self.action_5)
self.menu_2.addSeparator()
self.menu_2.addAction(self.action_7)
self.menu_2.addAction(self.action_8)
self.menu_3.addAction(self.action_10)
self.menu_3.addAction(self.action_11)
self.menu_3.addSeparator()
self.menu_3.addAction(self.action_13)
self.menu_3.addSeparator()
self.menu_3.addAction(self.action_15)
self.menu_3.addAction(self.action_16)
self.menu_4.addAction(self.action_17)
self.menu_4.addAction(self.action_18)
self.menu_5.addAction(self.action_19)
self.menu_5.addAction(self.action_20)
self.menu_5.addSeparator()
self.menu_5.addAction(self.action_22)
self.menubar.addAction(self.menu.menuAction())
self.menubar.addAction(self.menu_2.menuAction())
self.menubar.addAction(self.menu_3.menuAction())
self.menubar.addAction(self.menu_5.menuAction())
self.menubar.addAction(self.menu_4.menuAction())
self.toolBar.addAction(self.new_item_entry)
self.toolBar.addAction(self.exiting_item)
self.toolBar.addAction(self.item_edit_name)
self.toolBar.addAction(self.action_9)
self.retranslateUi(mainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(mainWindow)
def retranslateUi(self, mainWindow):
mainWindow.setWindowTitle(_translate("mainWindow", "Town of technoloy - إدارة المخازن", None))
self.comboBox.setStatusTip(_translate("mainWindow", "قم بإختيار الفئة", None))
self.tabWidget.setStatusTip(_translate("mainWindow", "اختار ما بين الاصناف و الفئات", None))
self.listView.setStatusTip(_translate("mainWindow", "الاصناف فى المخزن", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.items_tab), _translate("mainWindow", "الأصناف", None))
self.listView_2.setStatusTip(_translate("mainWindow", "الفئات فى المخزن", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.category_tab), _translate("mainWindow", "الفئات", None))
self.label_3.setText(_translate("mainWindow", "إسم المستخدم", None))
self.label_2.setText(_translate("mainWindow", "كلمة المرور", None))
self.lineEdit.setStatusTip(_translate("mainWindow", "ادخل إسم المستخدم ", None))
self.lineEdit.setPlaceholderText(_translate("mainWindow", "إسم المستخدم هنا", None))
self.lineEdit_3.setStatusTip(_translate("mainWindow", "ادخل كلمة المرور", None))
self.lineEdit_3.setPlaceholderText(_translate("mainWindow", "كلمة المرور هنا", None))
self.label_5.setStatusTip(_translate("mainWindow", "Town of Technology", None))
self.label_5.setText(_translate("mainWindow", "<html><head/><body><p><img src=\":/media/media/town-of-technology.png\"/></p></body></html>", None))
self.label.setStatusTip(_translate("mainWindow", "برنامج إدارة المخازن من Town of Technology", None))
self.label.setText(_translate("mainWindow", "<html><head/><body><p><span style=\" color:#ff0000; vertical-align:super;\">T</span><span style=\" vertical-align:super;\">own of technology </span><img src=\":/media/media/wh.ico\"/><span style=\" vertical-align:sub;\">إدارة المخازن</span></p></body></html>", None))
self.label_4.setText(_translate("mainWindow", " إسم الصنف", None))
self.label_6.setStatusTip(_translate("mainWindow", "إسم الصنف ", None))
self.label_6.setText(_translate("mainWindow", "إختر صنف", None))
self.label_7.setText(_translate("mainWindow", " الكمية", None))
self.lcdNumber.setStatusTip(_translate("mainWindow", "الكمية الموجودة من الصنف", None))
self.label_10.setText(_translate("mainWindow", "عدد المستخدمين", None))
self.label_9.setText(_translate("mainWindow", "عدد الفئات فى المخزن", None))
self.label_8.setText(_translate("mainWindow", "عدد الاصناف فى المخزن", None))
self.label_11.setText(_translate("mainWindow", "فئة", None))
self.label_12.setText(_translate("mainWindow", "صنف", None))
self.label_13.setText(_translate("mainWindow", "مستخدم", None))
self.pushButton.setStatusTip(_translate("mainWindow", "اضغط لتسجيل الدخول", None))
self.pushButton.setText(_translate("mainWindow", "تسجيل الدخول", None))
self.pushButton_2.setText(_translate("mainWindow", "تسجيل الخروج", None))
self.menu.setTitle(_translate("mainWindow", "الفئات", None))
self.menu_2.setTitle(_translate("mainWindow", "المستخدمين", None))
self.menu_3.setTitle(_translate("mainWindow", "الأصناف", None))
self.menu_4.setTitle(_translate("mainWindow", "التقارير", None))
self.menu_5.setTitle(_translate("mainWindow", "البيانات", None))
self.toolBar.setWindowTitle(_translate("mainWindow", "toolBar", None))
self.action.setText(_translate("mainWindow", "فئة جديدة", None))
self.action_3.setText(_translate("mainWindow", "تعديل الفئات", None))
self.action_4.setText(_translate("mainWindow", "مسح الفئات", None))
self.action_5.setText(_translate("mainWindow", "مستخدم جديد", None))
self.action_7.setText(_translate("mainWindow", "تعديل المستخدمين", None))
self.action_8.setText(_translate("mainWindow", "مسح مستخدمين", None))
self.new_item_entry.setText(_translate("mainWindow", "إدخال صنف للمخزن", None))
self.new_item_entry.setToolTip(_translate("mainWindow", "<html><head/><body><p><span style=\" font-weight:600;\">إدخال صنف للمخزن</span></p></body></html>", None))
self.exiting_item.setText(_translate("mainWindow", "خروج صنف من المخزن", None))
self.item_edit_name.setText(_translate("mainWindow", "تعديل اسم صنف", None))
self.action_9.setText(_translate("mainWindow", "خروج من البرنامج", None))
self.action_10.setText(_translate("mainWindow", "دخول أصناف", None))
self.action_11.setText(_translate("mainWindow", "خروج أصناف", None))
self.action_13.setText(_translate("mainWindow", "تعديل اسم صنف", None))
self.action_15.setText(_translate("mainWindow", "تعديل كمية الاصناف", None))
self.action_16.setText(_translate("mainWindow", "مسح اصناف", None))
self.action_17.setText(_translate("mainWindow", "عرض التقارير ( قريباً )", None))
self.action_18.setText(_translate("mainWindow", "طباعة التقارير ( قريباً )", None))
self.action_19.setText(_translate("mainWindow", "حفظ قاعدة البيانات", None))
self.action_20.setText(_translate("mainWindow", "إسترجاع قاعدة البيانات", None))
self.action_22.setText(_translate("mainWindow", "مسح قاعدة البيانات", None))
import resrcs
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
app.setLayoutDirection(QtCore.Qt.RightToLeft)
app.setStyle('Plastique')
mainWindow = QtGui.QMainWindow()
mainWindow.showMaximized()
ui = Ui_mainWindow()
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())
the coding and the OOP being used by the QT designer is a bit different than what I expected.
the function am trying to add is to call another window that is totally created in another file using the same QT designer version, so the import item_entry
statement am using is to call that other file and treat it as a module
You have to use the triggered signal of QAction, but to have an order create a new class that inherits from the widget selected in Qt Designer and the design created as shown below:
class Ui_mainWindow(object):
def setupUi(self, mainWindow):
...
self.toolBar.addAction(self.new_item_entry)
self.toolBar.addAction(self.exiting_item)
self.toolBar.addAction(self.item_edit_name)
self.toolBar.addAction(self.action_9)
...
def retranslateUi(self, mainWindow):
...
import resrcs
class MainWindow(QtGui.QMainWindow, Ui_mainWindow):
def __init__(self, *args, **kwargs):
QtGui.QMainWindow.__init__(self, *args, **kwargs)
self.setupUi(self)
self.new_item_entry.triggered.connect(self.on_new_item_entry)
self.exiting_item.triggered.connect(self.on_exiting_item)
self.item_edit_name.connect(self.on_item_edit_name)
self.action_9.triggered.connect(self.on_action_9)
def on_new_item_entry(self):
# some code
def on_exiting_item(self):
# some code
def on_item_edit_name(self):
# some code
def on_action_9(self):
# some code
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
app.setLayoutDirection(QtCore.Qt.RightToLeft)
app.setStyle('Plastique')
w = MainWindow()
w.show()
sys.exit(app.exec_())
I am new to PyQt. I want the GUI to be GUI1 from time 0 to time t1, GUI2 from time t1 to t2, ..., GUIn from time t(n-1) to t(n). So I thought I would have to use the multithreading techniques. Does anyone have available code that has the same function as my requirement?
Moreover, I met some problem when I try connect the thread's finished signal to the UpdateUI function. The code is shown below:
class Ui_MainWindow(QtCore.QObject):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(771, 586)
MainWindow.setMinimumSize(QtCore.QSize(771, 586))
font = QtGui.QFont()
font.setFamily(_fromUtf8("Arial"))
MainWindow.setFont(font)
#Feng
self.centralWidget = QtGui.QWidget(MainWindow)
self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
self.layoutWidget = QtGui.QWidget(self.centralWidget)
self.layoutWidget.setGeometry(QtCore.QRect(10, 500, 751, 27))
self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget)
self.horizontalLayout.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
self.horizontalLayout.setMargin(11)
self.horizontalLayout.setSpacing(6)
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
self.btnSkip = QtGui.QPushButton(self.layoutWidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btnSkip.sizePolicy().hasHeightForWidth())
self.btnSkip.setSizePolicy(sizePolicy)
self.btnSkip.setMinimumSize(QtCore.QSize(0, 23))
self.btnSkip.setFlat(False)
self.btnSkip.setObjectName(_fromUtf8("btnSkip"))
self.horizontalLayout.addWidget(self.btnSkip)
self.horizontalSlider = QtGui.QSlider(self.layoutWidget)
self.horizontalSlider.setMinimumSize(QtCore.QSize(0, 22))
self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
self.horizontalSlider.setObjectName(_fromUtf8("horizontalSlider"))
self.horizontalLayout.addWidget(self.horizontalSlider)
self.btnPrevious = QtGui.QPushButton(self.layoutWidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btnPrevious.sizePolicy().hasHeightForWidth())
self.btnPrevious.setSizePolicy(sizePolicy)
self.btnPrevious.setMinimumSize(QtCore.QSize(0, 23))
self.btnPrevious.setObjectName(_fromUtf8("btnPrevious"))
self.horizontalLayout.addWidget(self.btnPrevious)
self.btnNext = QtGui.QPushButton(self.layoutWidget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.btnNext.sizePolicy().hasHeightForWidth())
self.btnNext.setSizePolicy(sizePolicy)
self.btnNext.setMinimumSize(QtCore.QSize(0, 23))
self.btnNext.setObjectName(_fromUtf8("btnNext"))
self.horizontalLayout.addWidget(self.btnNext)
self.layoutWidget1 = QtGui.QWidget(self.centralWidget)
self.layoutWidget1.setGeometry(QtCore.QRect(11, 11, 751, 171))
self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1"))
self.verticalLayout = QtGui.QVBoxLayout(self.layoutWidget1)
self.verticalLayout.setMargin(11)
self.verticalLayout.setSpacing(6)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.textEditTaskName = QtGui.QTextEdit(self.layoutWidget1)
self.textEditTaskName.setEnabled(False)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.textEditTaskName.sizePolicy().hasHeightForWidth())
self.textEditTaskName.setSizePolicy(sizePolicy)
self.textEditTaskName.setMinimumSize(QtCore.QSize(0, 94))
font = QtGui.QFont()
font.setFamily(_fromUtf8("Arial"))
font.setPointSize(18)
font.setBold(True)
font.setWeight(75)
self.textEditTaskName.setFont(font)
self.textEditTaskName.setAcceptDrops(False)
self.textEditTaskName.setFrameShape(QtGui.QFrame.NoFrame)
#Feng
self.textEditTaskName.setText("Welcome")
self.textEditTaskName.setObjectName(_fromUtf8("textEditTaskName"))
self.verticalLayout.addWidget(self.textEditTaskName)
self.textEditTaskdesciption = QtGui.QTextEdit(self.layoutWidget1)
self.textEditTaskdesciption.setEnabled(False)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(1)
sizePolicy.setHeightForWidth(self.textEditTaskdesciption.sizePolicy().hasHeightForWidth())
self.textEditTaskdesciption.setSizePolicy(sizePolicy)
self.textEditTaskdesciption.setMinimumSize(QtCore.QSize(0, 69))
font = QtGui.QFont()
font.setFamily(_fromUtf8("Arial"))
font.setPointSize(12)
self.textEditTaskdesciption.setFont(font)
self.textEditTaskdesciption.setAcceptDrops(False)
#Feng
self.textEditTaskdesciption.setText('Welcome to my program.')
self.textEditTaskdesciption.setFrameShape(QtGui.QFrame.NoFrame)
self.textEditTaskdesciption.setFrameShadow(QtGui.QFrame.Plain)
self.textEditTaskdesciption.setObjectName(_fromUtf8("textEditTaskdesciption"))
self.verticalLayout.addWidget(self.textEditTaskdesciption)
self.layoutWidget2 = QtGui.QWidget(self.centralWidget)
self.layoutWidget2.setGeometry(QtCore.QRect(10, 190, 751, 311))
self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2"))
self.verticalLayout_2 = QtGui.QVBoxLayout(self.layoutWidget2)
self.verticalLayout_2.setMargin(11)
self.verticalLayout_2.setSpacing(6)
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.labelTESTImage = QtGui.QLabel(self.layoutWidget2)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Arial"))
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.labelTESTImage.setFont(font)
self.labelTESTImage.setAlignment(QtCore.Qt.AlignCenter)
image = QtGui.QImage('Images/deptLogo.png')
#Feng
self.labelTESTImage.setPixmap(QPixmap.fromImage(image))#("deptLogo.png"))
self.labelTESTImage.setScaledContents(True)
self.labelTESTImage.setObjectName(_fromUtf8("labelTESTImage"))
self.labelTESTImage.setScaledContents(True)
#Feng
self.btnNext.pressed.connect(self.nextSession)
self.btnPrevious.pressed.connect(self.previousSession)
#Feng
self.horizontalSlider.setRange(-1,len(strSettings)-1)
self.horizontalSlider.setValue(-1)
self.horizontalSlider.valueChanged.connect(self.dragSlider)
#self.btnNext.clicked.connect(self.readingSettingsFile)
#self.btnNext.clicked.connect(self.loadimage)
self.verticalLayout_2.addWidget(self.labelTESTImage)
self.progressBar = QtGui.QProgressBar(self.layoutWidget2)
self.progressBar.setMinimumSize(QtCore.QSize(0, 22))
self.progressBar.setProperty("value", 24)
self.progressBar.setObjectName(_fromUtf8("progressBar"))
self.progressBar.setVisible(False)
self.verticalLayout_2.addWidget(self.progressBar)
MainWindow.setCentralWidget(self.centralWidget)
self.menuBar = QtGui.QMenuBar(MainWindow)
self.menuBar.setGeometry(QtCore.QRect(0, 0, 771, 21))
self.menuBar.setObjectName(_fromUtf8("menuBar"))
self.menuFile = QtGui.QMenu(self.menuBar)
self.menuFile.setObjectName(_fromUtf8("menuFile"))
self.menuEdit = QtGui.QMenu(self.menuBar)
self.menuEdit.setObjectName(_fromUtf8("menuEdit"))
self.menuHelp = QtGui.QMenu(self.menuBar)
self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
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.menuFile.menuAction())
self.menuBar.addAction(self.menuEdit.menuAction())
self.menuBar.addAction(self.menuHelp.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "my test", None))
MainWindow.setWindowIcon(QtGui.QIcon('Images/test.ico'))
self.btnSkip.setText(_translate("MainWindow", "Skip", None))
self.btnPrevious.setText(_translate("MainWindow", "&Previous", None))
self.btnNext.setText(_translate("MainWindow", "&Next", None))
#self.labelTESTImage.setText(_translate("MainWindow", "my test", None))
self.menuFile.setTitle(_translate("MainWindow", "File", None))
self.menuEdit.setTitle(_translate("MainWindow", "Edit", None))
self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
#Feng
def dragSlider(self):
global strSettings, timeSleep, lineCurrent
lineCurrent = int(self.horizontalSlider.value())
if (lineCurrent != -1):
line = strSettings[lineCurrent]
wavFilename, showProgressBar, valPauseTime, valName, valDescription, valImageLoad = line.split("\t")
self.time_thread = timerThread(float(valPauseTime))
self.connect(self.time_thread, SIGNAL("finished()"),self, self.updateUIFromFile())
else:
self.btnNext.setText(_translate("MainWindow", "&Start", None))
self.textEditTaskName.setText("Welcome")
self.textEditTaskdesciption.setText('This program is designed by Feng.')
self.labelOTCImage.setPixmap(QPixmap.fromImage(QtGui.QImage('Images/deptLogo.png')))
self.labelOTCImage.setScaledContents(True)
self.progressBar.setVisible(False)
def nextSession(self):
global strSettings, timeSleep, lineCurrent
if(lineCurrent<len(strSettings)-1):
lineCurrent += 1
self.horizontalSlider.setValue(lineCurrent)
#self.updateUIFromFile()
def previousSession(self):
global strSettings, timeSleep, lineCurrent
if lineCurrent>0:
lineCurrent -= 1
else:
lineCurrent = -1
self.horizontalSlider.setValue(lineCurrent)
#self.updateUIFromFile()
def updateUIFromFile(self):
self.btnNext.setText(_translate("MainWindow", "&Next", None))
line = strSettings[lineCurrent]
wavFilename, showProgressBar, valPauseTime, valName, valDescription, valImageLoad = line.split("\t")
self.textEditTaskName.setText(valName)
self.textEditTaskdesciption.setText(valDescription)
self.labelOTCImage.setPixmap(QPixmap.fromImage(QtGui.QImage('resources/'+valImageLoad.replace("\n", ""))))
self.labelOTCImage.setScaledContents(False)
self.progressBar.setVisible(int(showProgressBar))
self.progressBar.setValue(50)
This is the thread class
class timerThread(QtCore.QThread):
def __init__(self,sleepTime):
QtCore.QThread.__init__(self)
self.sleepTime = sleepTime
def __del__(self):
self.wait()
def run(self):
time.sleep(self.sleepTime) # artificial time delay
Main
if __name__ == "__main__":
try:
fileSettings = open('protocol.txt','r')
except IOError as e:
print ("Unable to open file") #Does not exist OR no read permissions
sys.exit(0)
strSettings = fileSettings.readlines()
strSettings = list(filter(None, strSettings))
fileSettings.close()
timeSleep = 0
lineCurrent = -1
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
The file 'protocol.txt' contains the contents for each QtWidget and a timeline for when the GUI would change contents
You're using the Ui_MainWindow class incorrectly. See this answer for how to use the auto-generated UI classes.
You should be either inheriting from the UI class, or setting it as an instance attribute on one of your own classes.
class MainWIndow(QtGui.QMainWIndow,Ui_MainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.setupUi(self)
Sometimes, people won't inherit, but will assign it to an attribute of the class:
class MainWIndow(QtGui.QMainWIndow):
def __init__(self, parent=None):
QtGui.QMainWIndow.__init__(self, parent)
self.ui = Ui_MainWindow(self)
self.ui.setupUi(self)
So although nobody wants to give the answer to this question, I think I found the answer from another question asked by me in Update GUI at different time interval in QT.
I hope someone could give me the pyqt version of this answer because this is in C++.
I have this really "big" code
class ClassePrincipal(object):
def __init__(self):
super(self.__class__, self).__init__()
self.setupUi(self)
def setupUi(self, MainWindow):
MainWindow.setObjectName
MainWindow.setObjectName("MainWindow")
MainWindow.resize(464, 501)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout_2 = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout_2.setObjectName("gridLayout_2")
self.scrollArea = QtWidgets.QScrollArea(self.centralwidget)
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setObjectName("scrollArea")
self.scrollAreaWidgetContents = QtWidgets.QWidget()
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 427, 719))
self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
self.gridLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents)
self.gridLayout.setObjectName("gridLayout")
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.label = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label.setObjectName("label")
self.verticalLayout.addWidget(self.label)
self.lineEdit = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit.setObjectName("lineEdit")
self.verticalLayout.addWidget(self.lineEdit)
self.label_2 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_2.setObjectName("label_2")
self.verticalLayout.addWidget(self.label_2)
self.lineEdit_2 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit_2.setObjectName("lineEdit_2")
self.verticalLayout.addWidget(self.lineEdit_2)
self.label_3 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_3.setObjectName("label_3")
self.verticalLayout.addWidget(self.label_3)
self.lineEdit_3 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit_3.setObjectName("lineEdit_3")
self.verticalLayout.addWidget(self.lineEdit_3)
self.label_4 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_4.setObjectName("label_4")
self.verticalLayout.addWidget(self.label_4)
self.lineEdit_4 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit_4.setObjectName("lineEdit_4")
self.verticalLayout.addWidget(self.lineEdit_4)
self.label_5 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_5.setObjectName("label_5")
self.verticalLayout.addWidget(self.label_5)
self.lineEdit_5 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit_5.setObjectName("lineEdit_5")
self.verticalLayout.addWidget(self.lineEdit_5)
self.label_6 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_6.setObjectName("label_6")
self.verticalLayout.addWidget(self.label_6)
self.lineEdit_6 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit_6.setObjectName("lineEdit_6")
self.verticalLayout.addWidget(self.lineEdit_6)
self.label_7 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_7.setObjectName("label_7")
self.verticalLayout.addWidget(self.label_7)
self.dateEdit = QtWidgets.QDateEdit(self.scrollAreaWidgetContents)
self.dateEdit.setObjectName("dateEdit")
self.verticalLayout.addWidget(self.dateEdit)
self.label_8 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_8.setObjectName("label_8")
self.verticalLayout.addWidget(self.label_8)
self.lineEdit_8 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit_8.setObjectName("lineEdit_8")
self.verticalLayout.addWidget(self.lineEdit_8)
self.label_9 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_9.setObjectName("label_9")
self.verticalLayout.addWidget(self.label_9)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.radioButton_4 = QtWidgets.QRadioButton(self.scrollAreaWidgetContents)
self.radioButton_4.setObjectName("radioButton_4")
self.horizontalLayout_3.addWidget(self.radioButton_4)
self.radioButton_3 = QtWidgets.QRadioButton(self.scrollAreaWidgetContents)
self.radioButton_3.setObjectName("radioButton_3")
self.horizontalLayout_3.addWidget(self.radioButton_3)
self.radioButton_2 = QtWidgets.QRadioButton(self.scrollAreaWidgetContents)
self.radioButton_2.setObjectName("radioButton_2")
self.horizontalLayout_3.addWidget(self.radioButton_2)
self.radioButton = QtWidgets.QRadioButton(self.scrollAreaWidgetContents)
self.radioButton.setObjectName("radioButton")
self.horizontalLayout_3.addWidget(self.radioButton)
self.verticalLayout.addLayout(self.horizontalLayout_3)
self.label_10 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_10.setObjectName("label_10")
self.verticalLayout.addWidget(self.label_10)
self.lineEdit_7 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit_7.setObjectName("lineEdit_7")
self.verticalLayout.addWidget(self.lineEdit_7)
self.label_11 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_11.setObjectName("label_11")
self.verticalLayout.addWidget(self.label_11)
self.textEdit = QtWidgets.QTextEdit(self.scrollAreaWidgetContents)
self.textEdit.setObjectName("textEdit")
self.verticalLayout.addWidget(self.textEdit)
self.label_12 = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label_12.setObjectName("label_12")
self.verticalLayout.addWidget(self.label_12)
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.graphicsView = QtWidgets.QGraphicsView(self.scrollAreaWidgetContents)
self.graphicsView.setObjectName("graphicsView")
self.horizontalLayout_4.addWidget(self.graphicsView)
self.pushButton = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
self.pushButton.setObjectName("pushButton")
self.horizontalLayout_4.addWidget(self.pushButton)
self.verticalLayout.addLayout(self.horizontalLayout_4)
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
self.pushButton_2 = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
self.pushButton_2.setObjectName("pushButton_2")
self.horizontalLayout_5.addWidget(self.pushButton_2)
self.pushButton_3 = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
self.pushButton_3.setObjectName("pushButton_3")
self.horizontalLayout_5.addWidget(self.pushButton_3)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_5.addItem(spacerItem)
self.pushButton_4 = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
self.pushButton_4.setObjectName("pushButton_4")
self.horizontalLayout_5.addWidget(self.pushButton_4)
self.verticalLayout.addLayout(self.horizontalLayout_5)
self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
self.pushButton_5 = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
self.pushButton_5.setObjectName("pushButton_5")
self.horizontalLayout_6.addWidget(self.pushButton_5)
self.comboBox = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.horizontalLayout_6.addWidget(self.comboBox)
self.lineEdit_9 = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
self.lineEdit_9.setObjectName("lineEdit_9")
self.horizontalLayout_6.addWidget(self.lineEdit_9)
self.verticalLayout.addLayout(self.horizontalLayout_6)
self.gridLayout.addLayout(self.verticalLayout, 1, 0, 1, 1)
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
self.gridLayout_2.addWidget(self.scrollArea, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 464, 21))
self.menubar.setObjectName("menubar")
self.menuArquivos = QtWidgets.QMenu(self.menubar)
self.menuArquivos.setObjectName("menuArquivos")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.actionSalvar = QtWidgets.QAction(MainWindow)
self.actionSalvar.setObjectName("actionSalvar")
self.actionClose = QtWidgets.QAction(MainWindow)
self.actionClose.setObjectName("actionClose")
self.actionClose_2 = QtWidgets.QAction(MainWindow)
self.actionClose_2.setObjectName("actionClose_2")
self.menuArquivos.addAction(self.actionSalvar)
self.menuArquivos.addAction(self.actionClose)
self.menuArquivos.addAction(self.actionClose_2)
self.menubar.addAction(self.menuArquivos.menuAction())
self.retranslateUi(MainWindow)
self.actionClose_2.triggered.connect(MainWindow.close)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "Nome do Solicitante"))
self.label_2.setText(_translate("MainWindow", "CNPJ"))
self.label_3.setText(_translate("MainWindow", "Email do Solicitante"))
self.label_4.setText(_translate("MainWindow", "Razão Social"))
self.label_5.setText(_translate("MainWindow", "Endereço do Solicitante"))
self.label_6.setText(_translate("MainWindow", "Endereço do Serviço"))
self.label_7.setText(_translate("MainWindow", "Data"))
self.label_8.setText(_translate("MainWindow", "Valor so Serviço"))
self.label_9.setText(_translate("MainWindow", "Forma de Pagamento"))
self.radioButton_4.setText(_translate("MainWindow", "RadioButton"))
self.radioButton_3.setText(_translate("MainWindow", "RadioButton"))
self.radioButton_2.setText(_translate("MainWindow", "RadioButton"))
self.radioButton.setText(_translate("MainWindow", "RadioButton"))
self.label_10.setText(_translate("MainWindow", "Equipamentos Usados"))
self.label_11.setText(_translate("MainWindow", "Descrição do Serviço"))
self.label_12.setText(_translate("MainWindow", "Imagem"))
self.pushButton.setText(_translate("MainWindow", "Procurar..."))
self.pushButton_2.setText(_translate("MainWindow", "Enviar via Email"))
self.pushButton_3.setText(_translate("MainWindow", "Salvar"))
self.pushButton_4.setText(_translate("MainWindow", "Cancelar"))
self.pushButton_5.setText(_translate("MainWindow", "Busca Banco de Dados"))
self.comboBox.setItemText(0, _translate("MainWindow", "CNPJ"))
self.comboBox.setItemText(1, _translate("MainWindow", "Nome do Solicitante"))
self.comboBox.setItemText(2, _translate("MainWindow", "Data"))
self.menuArquivos.setTitle(_translate("MainWindow", "Arquivos"))
self.actionSalvar.setText(_translate("MainWindow", "Salvar"))
self.actionClose.setText(_translate("MainWindow", "Apagar"))
self.actionClose_2.setText(_translate("MainWindow", "Close"))
def main():
app = QApplication(sys.argv)
Mw = ClassePrincipal()
Mw.show()
app.exec_()
if __name__ == '__main__':
main()
But I'm having this error msg
Traceback (most recent call last):
File "C:/Users/Alexandre/Documents/Python/FinalmenteUltimo.py", line 221, in <module>
main()
File "C:/Users/Alexandre/Documents/Python/FinalmenteUltimo.py", line 215, in main
Mw = ClassePrincipal()
File "C:/Users/Alexandre/Documents/Python/FinalmenteUltimo.py", line 14, in __init__
self.setupUi(self)
File "C:/Users/Alexandre/Documents/Python/FinalmenteUltimo.py", line 17, in setupUi
MainWindow.setObjectName
AttributeError: 'ClassePrincipal' object has no attribute 'setObjectName'
But, I've been reading about this module, and there is this attribute.
Can someone help me, I'm realy noob about python, This is my firt program, and I have no idea what is happening.
Since now, thank you.
Ps: I used QT Designer.
As the error message implies, there is an error in line 17:
I guess you mistakenly wrote 'MainWindow.setObjectName' two times, but the first time without parameter. So Python is "thinking" you refer to an attribute with this name instead of a method and the underlying class does not have such an attribute (as described in the error).
I believe this file is generated by pyuic5. You should avoid editing computer generated file by hand. If you have .ui file you can try to generate py file using pyuic5 link below might help you out
http://pyqt.sourceforge.net/Docs/PyQt5/designer.html
Can you make your class extend QMainWindow and change the parts with MainWindow to self like below in setupUi. If this doesnt work create your file using Main Window option use -x flag on pyuic5 it will give you executable python code which is better option. also the link below should be helpful
self.setObjectName("MainWindow")
self.resize(464, 501)
http://www.rkblog.rk.edu.pl/w/p/simple-text-editor-pyqt4/
I did it, to fix that i just did
instead:
class ClassePrincipal(object):
I used
class ClassePrincipal(QMainWindow):
Thank you anyway.