PyQt4 GUI 设计

发布于 2024-11-14 00:18:08 字数 1918 浏览 1 评论 0原文

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

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()

但它并没有真正起作用。

I just started to lear the PyQt, but I got some problem. Here is my code:

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_() )

My question is how can I define the size and geometry of the textarea and the button?
I tryed to use the

setGeometry()

but it not really working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧伤慢歌 2024-11-21 00:18:08

您可以使用:

sendButton.setMinimumSize()

mainLayout.setRowMinimumHeight()

You can use:

sendButton.setMinimumSize()

and

mainLayout.setRowMinimumHeight()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文