質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

3230閲覧

PyQt5で表(テーブル)を作る際、表を置く位置の設定の仕方を教えて下さい

Heromi

総合スコア15

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/08/06 01:52

下記ソースコードで、4行X3列の表(テーブル)を作ると、表は左上に表示されますが、任意のX、Y座標を与えて、表が表示される位置を変える為にはどのような関数を使ったらよいのでしょうか? 
ご教示頂ければ有り難いです。
よろしくお願いします。
(約1週間前に同じ質問を投稿したのですが、前回、他の質問も含めて、結果的に複数の質問をしていた為、今回、1つの質問(上記)に絞りました。)

Python

1import sys 2 3from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QApplication, QTableView, QVBoxLayout 4from PyQt5.QtGui import QFont, QIcon, QStandardItemModel, QStandardItem 5 6 7class Example(QWidget): 8 def __init__(self): 9 super().__init__() 10 11 self.setGeometry(300, 300, 600, 300) 12 self.setWindowTitle("hello") 13 14 self.initData() 15 self.initUI() 16 17 18 def initData(self): 19 data = [["春", "桜", "京都の桜のきれいな寺院に行きたい"], ["夏", "海", "沖縄のエメラルドグリーンの海に行きたい"], ["秋", "紅葉", "京都の紅葉の綺麗な観光名所に行きたい"], ["冬", "雪", "北海道の温泉に行きたい"]] 20 self.model = QStandardItemModel(4, 3) 21 22 row = 0 23 col = 0 24 25 for col in range(3): 26 for row in range(4): 27 item = QStandardItem(data[row][col]) 28 self.model.setItem( row, col, item) 29 30 def initUI(self): 31 self.tv = QTableView(self) 32 self.tv.setModel(self.model) 33 34 vbox = QVBoxLayout() 35 vbox.addWidget(self.tv) 36 self.setLayout(vbox) 37 38app = QApplication(sys.argv) 39ex = Example() 40ex.show() 41sys.exit(app.exec_())

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

いまQVBoxLayoutを使用してレイアウトを管理していますが、setGeometryを使って自身で座標を管理すればよいかと。
◇参考情報
PySide でのレイアウト方法
Qtの基本プログラミング~レイアウトマネージメント

diff

1-vbox = QVBoxLayout() 2-vbox.addWidget(self.tv) 3-self.setLayout(vbox) 4# x, y, w, h 5+self.tv.setGeometry(20, 30, 200, 250)

画面はQtDesignerを使ったほうが画面が組みやすいかと。

投稿2018/08/08 02:38

編集2018/08/08 02:50
umyu

総合スコア5846

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Heromi

2018/08/10 05:57

ご教示頂き有難うございます。  ご回答頂きましたように、3行を削って、代わりにsetGeometryを使う事で問題が解決出来ました。   QtDesignerの使い方も覚えようと思います。 本当に有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問