0
晚上好未示出,窗口小部件中的QMainWindow
目的是有一個主窗口(沒有設計,而是由編碼產生)具有三個部分,以下相互:
- 數據點的列表(矢量)
- 統計信息的數據的數據點
- 的圖形摘要(直方圖)
我已經開始創建自己的窗口小部件,繪製一個圖表(到目前爲止,僅用於測試目的)。 但是,在顯示tableview窗口小部件時,未顯示(應該是第三個垂直列)「圖」窗口小部件(類直方圖的實例)。
Stackoverflow中的一個非常類似的問題給了我一些方向。但是,雖然它幫助我在表格中顯示小部件,但我沒有弄清楚如何顯示我的自定義小部件。
post: widgets not shown in qt main window
我還檢查文獻(Summerfield的以及Qt4輝發展協會MIT C++通過的Jürgen沃爾夫),但它們僅具有僅與一箇中央窗口部件的例子。
#include "mainwindow.h"
#include <QApplication>
#include <QDebug>
MainWindow::MainWindow(QMainWindow *parent, Qt::WindowFlags flags) : QMainWindow(parent, flags)
{
mainWidget = new QWidget(this);
setCentralWidget(mainWidget);
tableWidget = new QTableWidget(mainWidget); // QTableWidget to display the data vector
//...
// here comes code to fill the table...
//...
// result labels
lbl_sampleSize = new QLabel("sample size");
lbl_meanValue = new QLabel("mean");
lbl_sigma = new QLabel("sigma");
lbl_andersonDarling = new QLabel("Anderson Darling");
lbl_pValue = new QLabel("p-value for Anderson-Darling");
rightLayout = new QVBoxLayout(); // a vertical layout to contain labels
rightLayout->addWidget(lbl_sampleSize);
rightLayout->addWidget(lbl_meanValue);
rightLayout->addWidget(lbl_sigma);
rightLayout->addWidget(lbl_andersonDarling);
rightLayout->addWidget(lbl_pValue);
rightLayout->addStretch();
//diagram
diagram = new Histogram(mainWidget);
mainLayout = new QHBoxLayout(mainWidget);
mainLayout->addWidget(tableWidget,0);
mainLayout->addLayout(rightLayout,0);
mainLayout->addWidget(diagram, 0);
//mainWidget->setLayout(mainLayout);
}
截圖:
備註: ,此代碼
//diagram
diagram = new Histogram();
mainLayout = new QHBoxLayout(mainWidget);
mainLayout->addWidget(tableWidget,0);
mainLayout->addLayout(rightLayout,0);
//mainLayout->addWidget(diagram, 0);
//mainWidget->setLayout(mainLayout);
diagram->show();
我能夠創建一個單獨的窗口小部件與測試圖。 (除去父信息和稱爲diagramstyle中>顯示())
謝謝。這是解決方案。我認爲它有一個大小,因爲它被顯示爲一個單獨的小部件時有一個大小。很明顯,我沒有深入這個方向。再次感謝。 – RogerWilco77 2014-10-05 20:30:13