QT詳細リスト


#QGridLayoutでのコントロールの設定
QGridLayoutの左上隅を原点とし、1番目のパラメータは原点からの高さを0とし、2番目のパラメータは原点からの水平距離を5 bottomLayout->addWidget(upButton,0,5)とする.
 
#ウィンドウ起動時の最大化の設定
MainWindow *m=new MainWindow; m->showMaximized();
 
#エージェントモデルを使用して、QTableビューで行列交換を実現
rotatedproxymodel.h
#include <QAbstractProxyModel>
class RotatedProxyModel : public QAbstractProxyModel
{
public:
	RotatedProxyModel(QObject *p = 0) : QAbstractProxyModel(p){}
	QModelIndex mapFromSource ( const QModelIndex & sourceIndex ) const
	{
		return index(sourceIndex.column(), sourceIndex.row());
	}
	QModelIndex mapToSource ( const QModelIndex & proxyIndex ) const
	{
		return sourceModel()->index(proxyIndex.column(), proxyIndex.row());
	}
	QModelIndex index(int r, int c, const QModelIndex &ind=QModelIndex()) const
	{
		return createIndex(r,c);
	}
	QModelIndex parent(const QModelIndex&) const 
	{
		return QModelIndex();
	}
	int rowCount(const QModelIndex &) const
	{
		return sourceModel()->columnCount();
	}
	int columnCount(const QModelIndex &) const
	{
		return sourceModel()->rowCount();
	}
	QVariant data(const QModelIndex &ind, int role) const 
	{
		return sourceModel()->data(mapToSource(ind), role);
	}
	QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const
	{
		if( orientation == Qt::Horizontal )
			return sourceModel()->headerData( section, Qt::Vertical, role );
		else
			return sourceModel()->headerData( section, Qt::Horizontal, role );
	}

	bool setHeaderData( int section, Qt::Orientation orientation, const QVariant & value, int role = Qt::DisplayRole )
	{
		if( orientation == Qt::Horizontal )
			return sourceModel()->setHeaderData( section, Qt::Vertical, value, role );
		else
			return sourceModel()->setHeaderData( section, Qt::Horizontal, value, role );
	}
};

使用方法:
standardView = new QTableView;
QSqlTableModel *sourceModel = new QSqlTableModel;
sourceModel->setTable("model_group");
sourceModel->select();
sourceModel->setEditStrategy(QSqlTableModel::OnRowChange);
standardModel = new RotatedProxyModel;
standardModel->setSourceModel(sourceModel);
standardView->setModel(standardModel);
 
#画面サイズの取得
画面サイズ:QAPplication::desktop().size()単独の高さと幅:QAPplication::desktop().height() QApplication::desktop().width()
 
#MySql前回のinsert操作後に生成されたidを返す
select LAST_INSERT_ID()