コード例 #1
0
int QGridLayoutProto::verticalSpacing() const
{
  QGridLayout *item = qscriptvalue_cast<QGridLayout*>(thisObject());
  if (item)
    return item->verticalSpacing();
  return 0;
}
コード例 #2
0
void
QvisCartographicProjectionWindow::CreateWindowContents()
{
    QGridLayout *mainLayout = new QGridLayout(0);
    topLayout->addLayout(mainLayout);

    projectionIDLabel = new QLabel(tr("Projection type"), central);
    mainLayout->addWidget(projectionIDLabel,0,0);
    int sp = 30+(int)mainLayout->verticalSpacing();
    mainLayout->setVerticalSpacing(sp);

    projectionIDCombo = new QComboBox(central);
    projectionIDCombo->addItem(tr("Aitoff"));
    projectionIDCombo->addItem(tr("Eckert IV"));
    projectionIDCombo->addItem(tr("Equidistant Conic"));
    projectionIDCombo->addItem(tr("Hammer"));
    projectionIDCombo->addItem(tr("Lambert Azimuthal Equal Area"));
    projectionIDCombo->addItem(tr("Lambert Conformal Conic"));
    projectionIDCombo->addItem(tr("Mercator"));
    projectionIDCombo->addItem(tr("Miller Cylindrical"));
    projectionIDCombo->addItem(tr("Mollweide"));
    projectionIDCombo->addItem(tr("Orthographic"));
    projectionIDCombo->addItem(tr("Winkel II"));

    connect(projectionIDCombo, SIGNAL(activated(int)),
            this, SLOT(projectionIDChanged(int)));
    mainLayout->addWidget(projectionIDCombo, 0,1);
    projectionIDCombo->setCurrentIndex(atts->GetProjectionID());

    centralMeridianLabel = new QLabel(tr("Central Meridian"), central);
    mainLayout->addWidget(centralMeridianLabel,1,0);
    centralMeridian = new QLineEdit(central);
    connect(centralMeridian, SIGNAL(returnPressed()),
            this, SLOT(centralMeridianProcessText()));
    mainLayout->addWidget(centralMeridian, 1,1);
}
コード例 #3
0
ファイル: main.cpp プロジェクト: marvinfy/Trainings
int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
	QWidget * main_wg = new QWidget;

	// cria um objeto "splitter" para compartilhar widgets:    
	QSplitter *splitter = new QSplitter(main_wg);

	// cria um "model" usando o "StandardModel"
	QStandardItemModel *model = new QStandardItemModel;

	const int totCols = 3;
	int col;
	// define os títulos das colunas:
	for (col = 0; col < totCols; ++col) 
	{
		model->setHorizontalHeaderItem(col, 
			new QStandardItem( QString("COL-%1").arg(col+1) ) );
	}
	
	// alimenta linhas, colunas e sub-níveis:	
	QStandardItem *parentItem = model->invisibleRootItem();
	
	const int iniLevel = 0;
	const int totLevels= 3;
	QString prevRows("");
	QVector<QSize> vec_ColsRows; // colunas, linhas de cada nível 
	vec_ColsRows.reserve( totLevels );	
				// quantidade-colunas, quantidade-linhas
	vec_ColsRows << QSize(3,10) << QSize(3,3) << QSize(3,2) ;
	populate_model ( parentItem, vec_ColsRows,
						 iniLevel, prevRows);
	
	// Neste exemplo,
	// O "model" foi alimentado com linhas, colunas e sub-níveis:
	// E serão criadas 4 "views" (uma "tree", uma "table", uma "list" e uma "comboBox")
	// relacionadas ao mesmo "model";
	// Cada "view" exibe os dados de uma determinada maneira;

	// 1- ==== a primeira "view" é uma "tree":
	QTreeView *tree = new QTreeView(splitter);
	tree->setModel(model);
	// habilita classificação na tree:
	tree->setSortingEnabled(true);
	// classifica
	tree->sortByColumn(0);	
	// expande toda a árvore:
	tree->expandAll();
	// força largura de todas as colunas
	// para exibição completa do texto dos seus itens
	for (col = 0; col < totCols; ++col)
		tree->resizeColumnToContents(col);

	// configura o header para permitir mudança na ordem de classificacão:
	QHeaderView * hdrTree = tree->header();
	hdrTree->setClickable (true);
	hdrTree->setSortIndicator(0,Qt::AscendingOrder);
	hdrTree->setSortIndicatorShown(true);
	hdrTree->setMovable(true); // permite mover colunas do header

	// 2- ==== a segunda "view" é uma "table"
	QTableView *table = new QTableView(splitter);
	table->setModel(model);
	table->setAlternatingRowColors(true);
	// habilita classificação na table:
	table->setSortingEnabled(true);
	// classifica
	table->sortByColumn(0);	

	// configura o header para permitir mudança na ordem de classificacão:
	QHeaderView * hdrTable = table->horizontalHeader();
	hdrTable->setClickable (true);
	hdrTable->setSortIndicator(0,Qt::AscendingOrder);
	hdrTable->setSortIndicatorShown(true);
	hdrTable->setMovable(true); // permite mover colunas do header
			
	// 3- ==== a terceira view é uma "list": 
	QListView *list = new QListView(splitter);
	list->setModel(model);

	// 4- ==== a quarta "view" é uma "comboBox"
	QComboBox *combo = new QComboBox;
	combo->setModel(model);

	// configura a "splitter" definindo a largura de cada "view"
	int width = 800;	
	QList< int > cols;
	cols << int(width* 0.45) << int(width*0.45) << int(width*0.1);
	splitter->setSizes(cols);	

	// layout para agrupar a "combo" e a "splitter":
	QGridLayout * glayMain = new QGridLayout;
	main_wg->setLayout( glayMain);
	glayMain->addWidget( combo, 0, 1); // linha 0, coluna 0;
	glayMain->setRowMinimumHeight(1, glayMain->verticalSpacing() * 4); // linha 1: linha de separação
	glayMain->addWidget( splitter, 2, 0, 1, 3 ); // linha 2, coluna 0, rowSpan 1, colSpan 3

	main_wg->setWindowTitle("06_standard - 4 'views' usando o mesmo 'model' (StandardModel) - recursivo");
	main_wg->resize(800,500);	

	main_wg->show();
	return app.exec();
}