В Qt это регулируется
Size policybutton = QtGui.QPushButton(symbol)
button.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
При условии, что все располагается в Layout'ах.
Пример из
прошлого поста с добавлением изменения sizePolicy:
# -*- coding: utf-8 -*-
import string
import functools
from PyQt4 import QtCore, QtGui
NCOLUMNS = 10
SYMBOLS = string.ascii_lowercase + string.digits + string.punctuation
class MainWidget(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
layout = QtGui.QGridLayout()
row = column = 0
for symbol in SYMBOLS:
button = QtGui.QPushButton(symbol)
button.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
button.clicked.connect(functools.partial(self._on_button_pressed,
symbol))
layout.addWidget(button, row, column)
column += 1
if column >= NCOLUMNS:
column = 0
row += 1
self.setLayout(layout)
def _on_button_pressed(self, text):
print text
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
widget = MainWidget()
widget.show()
sys.exit(app.exec_())
P.S.
Для обсуждения Qt и GUI программирования есть
специальный раздел