私はpyqtアプリケーションをメニューと中央ウィジェット(行と列がスプレッドシートのような表ウィジェット)で書いています。私は囲みウィンドウのサイズをウィジェットのサイズに設定したいと思います。私はそれをある程度の大きさに固定し、美的理由のために国境の周りを無駄にしたくありません。テーブルウィジェットの全体的な幅を抽出するにはどうすればよいですか?私はtabeleWidget.width()を使用しようとしましたが、それは私に見えるセルの幅を与えます。私はpyqt4とpython 2.7を使用しています。PyQt:ウィジェットサイズに合わせてウィンドウサイズを設定する方法は?
0
A
答えて
1
テーブルのサイズを取得する簡単な方法があるかどうかはわかりませんが、このようなことはどうですか?
from PyQt4 import QtCore, QtGui
class MainWindow(QtGui.QMainWindow):
def __init__(self, table_rows, table_cols, **kwargs):
super(MainWindow, self).__init__(**kwargs)
self.table = QtGui.QTableWidget(table_rows, table_cols)
self.table.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.table.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.table.verticalHeader().sectionResized.connect(self.fitToTable)
self.table.horizontalHeader().sectionResized.connect(self.fitToTable)
self.setCentralWidget(self.table)
self.fitToTable()
@QtCore.pyqtSlot()
def fitToTable(self):
x = self.table.verticalHeader().size().width()
for i in range(self.table.columnCount()):
x += self.table.columnWidth(i)
y = self.table.horizontalHeader().size().height()
for i in range(self.table.rowCount()):
y += self.table.rowHeight(i)
self.setFixedSize(x, y)
if __name__ == '__main__':
app = QtGui.QApplication([])
win = MainWindow(4, 5)
win.show()
app.exec_()
この例では、テーブルのサイズを計算し、それらの値にウィンドウサイズを固定します。また、ユーザーが手作業で行や列のサイズを変更した場合に合わせてウィンドウのサイズを変更します。
+0
包括的な回答をありがとう。 – LostInTheFrequencyDomain
関連する問題
- 1. PyQt:相対ウィジェットサイズ
- 2. Ghost.pyにウィンドウサイズを設定する方法はありますか?
- 3. iframeをウィンドウサイズに合わせてサイズ変更する
- 4. ウィンドウサイズに合わせて画像を変更/サイズ変更する
- 5. 画像サイズをウィンドウサイズに合わせて調整する
- 6. CでGTK +アプリの固定ウィンドウサイズを設定する方法は?
- 7. テキストのサイズに合わせてQLabelのサイズを設定する方法は?
- 8. ブラウザのサイズに合わせてテキストサイズを設定する方法は?
- 9. テーブルフォーマットの構造に合わせて幅を設定する方法は?
- 10. 設定日をUTCに合わせて変換する方法は?
- 11. Tkを使ってウィンドウサイズを設定するタイミングと方法
- 12. ウィンドウサイズを固定する方法は?
- 13. 残りのスペースに合わせてdivの高さを設定する方法
- 14. androidのサーバーレスポンスに合わせてメニューバーのデフォルトアイコンを設定する方法
- 15. セマンティックUIの設定方法ボタンなどに合わせたドロップダウンサイズ
- 16. PHPExcel - デフォルトのウィンドウサイズを設定する方法
- 17. Pyqtでウィジェットの親を正しく設定する方法は?
- 18. 画面の解像度に合わせてツールバーに合わせる方法は?
- 19. OpenGL:glPrint()の位置を画面に合わせて設定する
- 20. ビットマップのサイズに合わせてsetMarginを設定する
- 21. UINavigationControllerのスタイルに合わせてスタイルを設定するUINavigationBar
- 22. QML ApplicationWindow:コンテンツに合わせて最小サイズを設定する
- 23. UIViewのサイズをサブビューに合わせて設定する
- 24. ゲームイメージアセットがウィンドウサイズに合わない
- 25. javascriptを使って画面の解像度に合わせてボディの幅を設定する方法は?
- 26. JavaFX最大/最小ウィンドウサイズの設定方法は?
- 27. Vimでメタファンクションキーの組み合わせを設定するには?
- 28. DjangoプロジェクトでPyQtはGUIアプリケーションを組み合わせる
- 29. QuickLook Pluginのウィンドウサイズを設定する
- 30. テキストボックスのサイズに合わせて、C#ローカルレポート(rdlc - WinForms)でフォントサイズを動的に設定する方法は?
レイアウトを使用していますか?テーブルウィジェットがウィンドウ内の唯一のウィジェットである場合、ウィンドウはテーブルと同じサイズでなければなりません。 –