2015-12-03 2 views
0

Я кодирую графический интерфейс в PySide уже пару месяцев. Эта мягкая конструкция наполовину разработана с использованием Qt-дизайнера и наполовину жестко закодирована. Это программа MainWindow с центральным виджетами и множеством доков.PySide - неактивная зона GUI в строке меню

Недавно я понял, что в строке меню (и маленькой части панели задач) была зона, которая была «неактивна», т.е. мышь не может напрямую обращаться к меню. Эта зона выделена зеленым цветом на изображении.

inactive zone

В меню работает, так как при нажатии на правую половину кнопки меню конфигурирования, я могу получить доступ к файлу или меню Edit, как показано на следующем рисунке

enter image description here

код перевода вывод дизайнер Qt в питона код

call pyside-uic mainWindow.ui -o uiMainWindow.py 
call pyside-rcc -o fittingRessources_rc.py pathtoressources\fittingRessources.qrc 

Я попытался т o удалите значок софт. Переместите панели задач (в этом случае кнопки панели задач снова активны). Я попытался удалить значки панели задач. Ничего не изменилось.

Я могу предоставить код, если необходимо, но сначала мне было интересно, кто-нибудь из вас уже столкнулся с этой проблемой? и как он ее решил? так как кажется немного ackward ...

Приветствия

ответ

0

появилась ошибка только тогда, когда я добавлял некоторые доки к MainWindow, используя следующий код:

self.variablesDock = VariablesDock(self,self.dataCurve) 

где самость MainWindow. VariablesDock класс следующие

class VariablesDock(QWidget): 
''' 
Allows to define variables 
''' 

def __init__(self, mainWindow, dataCurve): 
    ''' 
    Constructor 
    ''' 
    super(VariablesDock,self).__init__(mainWindow) 

    self.mainWindow = mainWindow 
    self.dataCurve = dataCurve 

    self.variablesDockWidget = QtGui.QDockWidget(mainWindow) 
    ... skip some code ... 
    self.variablesDockWidget.setWidget(self.dockWidgetContents) 
    mainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.variablesDockWidget) 
    self.variablesDockWidget.setWindowTitle("Variables") 

если изменить линию super(VariablesDock,self).__init__(mainWindow) в

super(VariablesDock,self).__init__(None) 

исчезла ошибка.

Cheers

Смежные вопросы