2011-06-03 97 views
0

我刚开始学习PyQt,但我遇到了一些问题。这里是我的代码:PyQt4 Gui设计

class GUI(QtGui.QMainWindow): 
''' 
classdocs 
''' 
"""**********************************************************************""" 
"""    Constructor            """ 
"""**********************************************************************""" 
def __init__(self, parent = None): 
    self.app = QtGui.QApplication(sys.argv) 

    QtGui.QMainWindow.__init__(self) 

    """******************************************************************""" 
    """      Settintg up the windows      """ 
    """******************************************************************""" 
    self.resize(1024, 756) 
    self.setWindowTitle('Windscanner - Core Module') 
    self.setWindowIcon(QtGui.QIcon('icons/Windsock.png')) 

    """  Text Area  """ 
    self.messageField = QtGui.QTextEdit() # Alternative: QTextEdit 
    self.messageField.setReadOnly(True) 

    """  Input  """ 
    self.inputLine = QtGui.QLineEdit() 

    """  Send Button  """ 
    sendButton = QtGui.QPushButton('TCP: Send') 
    sendButton.setStatusTip('Send manually inserted message via TCP') 
    sendButton.setToolTip('Send manually inserted message via TCP') 
    self.connect(sendButton, QtCore.SIGNAL('clicked()'), self.f_sendbutton) 
    sendButton.setGeometry(300, 300, 250, 150); 

    """  Layout  """ 
    mainLayout = QtGui.QGridLayout() 

    mainLayout.addWidget(self.messageField) 
    mainLayout.addWidget(self.inputLine) 
    mainLayout.addWidget(sendButton) 

    """  Widget  """ 
    mainWidget = QtGui.QWidget() 
    mainWidget.setLayout(mainLayout) 
    self.setCentralWidget(mainWidget) 
    self.show() 
    sys.exit(self.app.exec_()) 

我的问题是如何定义文本区域和按钮的大小和几何? 我试过用

setGeometry() 

但它并不真正的工作。

回答

1

您可以使用:

sendButton.setMinimumSize() 

mainLayout.setRowMinimumHeight()