Bom dia. Iniciei em Python há algumas semanas. não tive problemas até o momento.
Estou desenvolvendo um projeto Python desktop utilizando qtDesigner e Pyqt5.
O conflito que tive não encontrei solução.
Tenho um login, que funciona e abre a "tela principal".
a tela principal tem vários menus. Meu problema agora aparece.
Eu criei uma tela para gerenciar permissões, porem quando eu clico para abir a tela, ela abre, porém bloqueada.
eu só consigo mexer nela, depois que fecho a principal.
Nao encontrei na internet nenhuma referência.
Segue os códigos.
Tela Principal
import sys
from principal import Ui_principal
from PyQt5 import QtCore, uic
from PyQt5.QtWidgets import QMainWindow, QApplication
from loginAuth import *
from permissoes import Ui_Permissoes
class form_principal(QMainWindow,Ui_principal):
def __init__(self, parent=None):
super().__init__(parent)
super().setupUi(self)
self.mnuSair.triggered.connect(self.Sair)
self.mnuPermissoesAcesso.triggered.connect(self.abrePermissoes)
def abrePermissoes(self):
from form_permissoes import form_permissoes
self.per = form_permissoes()
self.per.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) # AlwaysOnTop
self.per.show()
self.per.setEnabled(True) # tentativa de forcar o habilitar
##Form permissoes
import sys
from principal import Ui_principal
from PyQt5 import QtCore, uic
from PyQt5.QtWidgets import QFrame, QMainWindow, QApplication, QDialog
from loginAuth import *
from fpermissoes import Ui_Frame
class form_permissoes (QFrame, Ui_Frame):
def __init__(self, parent=None):
super().__init__(parent)
super().setupUi(self)
o arquivo que contem os componentes do formulario é o abaixo, que foi criado pelo QtDesiner e convertido usando o commando pyuic5
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Frame(object):
def setupUi(self, Frame):
Frame.setObjectName("Frame")
Frame.resize(619, 300)
self.groupBox = QtWidgets.QGroupBox(Frame)
self.groupBox.setGeometry(QtCore.QRect(10, 10, 591, 261))
self.groupBox.setObjectName("groupBox")
self.treeWidget = QtWidgets.QTreeWidget(self.groupBox)
self.treeWidget.setGeometry(QtCore.QRect(10, 20, 571, 231))
self.treeWidget.setObjectName("treeWidget")
item_0 = QtWidgets.QTreeWidgetItem(self.treeWidget)
item_1 = QtWidgets.QTreeWidgetItem(item_0)
item_2 = QtWidgets.QTreeWidgetItem(item_1)
item_3 = QtWidgets.QTreeWidgetItem(item_2)
item_3 = QtWidgets.QTreeWidgetItem(item_2)
self.retranslateUi(Frame)
QtCore.QMetaObject.connectSlotsByName(Frame)
def retranslateUi(self, Frame):
_translate = QtCore.QCoreApplication.translate
Frame.setWindowTitle(_translate("Frame", "Permissões"))
self.groupBox.setTitle(_translate("Frame", "Menus"))
self.treeWidget.headerItem().setText(0, _translate("Frame", "Menus"))
__sortingEnabled = self.treeWidget.isSortingEnabled()
self.treeWidget.setSortingEnabled(False)
self.treeWidget.topLevelItem(0).setText(0, _translate("Frame", "Arquivo"))
self.treeWidget.topLevelItem(0).child(0).setText(0, _translate("Frame", "Cadastro"))
self.treeWidget.topLevelItem(0).child(0).child(0).setText(0, _translate("Frame", "Solos"))
self.treeWidget.topLevelItem(0).child(0).child(0).child(0).setText(0, _translate("Frame", "PH"))
self.treeWidget.topLevelItem(0).child(0).child(0).child(1).setText(0, _translate("Frame", "M.O"))
self.treeWidget.setSortingEnabled(__sortingEnabled)
Como eu disse, a tela abre, mas como se estivesse bloqueada.