2014-09-10 2 views
0

Так было создание QGroupBox с кучей кнопок, содержащих ярлыки. Все работало нормально, и теперь неожиданно кнопки стали доступными. Фактически ничто внутри группового окна не доступно. Есть идеи? Я вытаскиваю свои волосы, пытаясь понять, где я ошибся.QPushButton больше не отвечает внутри GroupBox

Упростили код и протестировали его. Нет ошибок, просто нажмите кнопку. Мне интересно, не проблема ли родительская?

import sys 
from PyQt4.QtGui import * 
from PyQt4.QtCore import * 

class PxJob(QWidget): 

    def __init__(self, parent, geo, title): 
     super(PxJob, self).__init__(parent) 

     frame = QGroupBox(parent) 
     frame.setGeometry(geo) 
     frame.setTitle(title) 
     grid = QGridLayout() 
     frame.setLayout(grid) 
     butt = QPushButton('test') 
     butt.setCheckable(True) 
     grid.addWidget(butt) 


class PxManager(QMainWindow): 

    def __init__(self, *args): 
     super(PxManager, self).__init__() 
     self.initUI() 

    def initUI(self): 

     # Main Layout 
     job = PxJob(self, QRect(10,60,830,120), 'Shot 02') 
     col = QVBoxLayout() 
     col.addWidget(job) 

     window = QWidget() 
     window.setLayout(col) 
     self.setCentralWidget(window) 


     self.setGeometry(300, 300, 850, 200) 
     self.setWindowTitle('Manager') 
     self.show() 

def main(): 

    app = QApplication(sys.argv) 
    ruc = PxManager() 
    sys.exit(app.exec_()) 


if __name__ == '__main__': 
    main() 
+0

нормально ... теперь исправлена. Вместо того, чтобы внедрять QWidget, я должен был запустить QGroupBox. Работает сейчас :). Однако он всегда учится другим путям и более. Поэтому не стесняйтесь комментировать. – Mafster

ответ

1

Вы должны добавить эту строку в конце __init__ в PxJob:

self.setLayout(grid) 
Смежные вопросы