2012-01-20 7 views
2

私のアプリケーションの空白を取り除くにはどうすればいいですか:enter image description hereQTableWidgetでこの空白を取り除くにはどうすればよいですか?

私はQTableWidget(青い矢印)の空白を取り除きたいと思います。どうすればいいのですか?ここで

は自分のアプリケーションのためのコードです:さらに

gridLayout = QGridLayout() 

    #add other widgets 

    currentItemsTable = QTableWidget(4, 2) 
    currentDeviceIconLabel = QLabel("Current Device Icon: ") 
    self.currentDeviceIcon = QLabel() 
    currentAppIconLabel = QLabel("Current App Icon: ") 
    self.currentAppIcon = QLabel() 
    currentTitleLabel = QLabel("Current Title: ") 
    self.currentTitle = QLabel(self.getCurrentTitle()) 
    currentSubtitleLabel = QLabel("Current Subtitle: ") 
    self.currentSubtitle = QLabel(self.getCurrentSubtitle()) 

    currentItemsTable.setCellWidget(0, 0, currentDeviceIconLabel) 
    currentItemsTable.setCellWidget(0, 1, self.currentDeviceIcon) 
    currentItemsTable.setCellWidget(1, 0, currentAppIconLabel) 
    currentItemsTable.setCellWidget(1, 1, self.currentAppIcon) 
    currentItemsTable.setCellWidget(2, 0, currentTitleLabel) 
    currentItemsTable.setCellWidget(2, 1, self.currentTitle) 
    currentItemsTable.setCellWidget(3, 0, currentSubtitleLabel) 
    currentItemsTable.setCellWidget(3, 1, self.currentSubtitle) 
    currentItemsTable.horizontalHeader().hide() 
    currentItemsTable.resizeColumnsToContents() 
    currentItemsTable.resizeRowsToContents() 
    currentItemsTable.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum) 
    gridLayout.addWidget(currentItemsTable, 1, 4, 8, 2) 

、どのように私はQTableWidgetは、行と列の内容でサイズを変更するのですか?私はスクロールバーを必要としません。

+0

私は最高の解決策は 'QTableWidget'をまったく使用しないことだと思います!あなたは 'QGridLayout'でそのようなことを簡単に行うことができます – Lol4t0

+0

@ Lol4t0 QTableWidgetなしでウィジェットがどのように見えるのか好きではありませんでした。私は白い背景とグリッドラインが欲しかった。 –

+0

背景を白に設定し、グリッド線に 'QFrame'を使用することができます。 – Lol4t0

答えて

4

私はあなたがこれを使用する必要があると思う:

currentItemsTable.horizontalHeader().setStretchLastSection(True) 
currentItemsTable.verticalHeader().setStretchLastSection(True) 

サイズを変更した後、これを呼び出す必要があります.... toContents()、あなたが最初にsetStretchLastSection(偽)すべき内容のためにサイズを変更しようとしている任意の時間、

currentItemsTable.verticalHeader().setStretchLastSection(False) 
currentItemsTable.resizeRowsToContents() 
currentItemsTable.verticalHeader().setStretchLastSection(True) 

また、サイズ変更に奇妙な影響があります。

+1

最後のセルが引き伸ばされた後に分布のバランスをとる方法はありますか? –

+1

QtableView.setColumnWidth(column、width)を使用してヘッダーの幅を計算し、すべての列に対してバランスのとれた呼び出しを行うことができます。おそらく、setStretchLastSection(True)を呼び出すと、最後の列を少し大きくしてあなたのための水平スクロールバーですが、私は試していません。最後のセクションを伸ばす前に列のサイズを変更してください、私は試していませんが、通常は問題がある最後のものでない場合は通常です。 – skuda

関連する問題