# 设置控件在QGridLayout的位置
以QGridLayout的左上角为原点,第一个参数表示距原点的高度为0,第二个参数表示距原点的水平距离为5
bottomLayout->addWidget(upButton, 0, 5);
# 设置窗口启动时最大化
MainWindow *m=new MainWindow;
m->showMaximized();
# 使用代理model,让QTableView实现行列互换
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()
分享到:
相关推荐
另外,除对每章主题内容的探讨外,还给出了许多与之相关的类、方法和技术细节,从而尽可能多地展示了qt的各种特色。因此,即使是很有经验的qt程序开发人员,也可以从书中找出自己不曾注意到的技术点。书中的全部示例...
国内为数不多的qt精品。qt和qtquick的细节和心得体会。让你扼腕,击节赞赏。
QT上实现动态波形的显示,使用定时器来模拟数据的变化,在qt界面上实时显示当前的数值变化,可以通过波形更加清晰直观的了解数据的变化趋势。
与第一版相比,《Qt应用编程系列丛书:Qt Creator快速入门(第2版)》在Windows 7系统下基于Z新的Qt4.8.5和Qt Creator2.8.0进行了全书修订,更换了所有图片,构建了全部代码,更新了上百处细节内容,并添加了附录...
初学者常常因为一个细节没有注意到而花费过长的时间;同时,QT本身比较庞大,涉及的知识点较多,这也给学习带来很大的障碍。本手册由飞凌一线工程师撰写,并经过反复测试和修改,力图使广大用户迅速掌握QT的移植方法...
qt4、qt5均可以编译通过,工程默认是qt5的工程。 (本人qt5.1.0 和 qt4.8.2 + vs...所有下载的核心类都在Http文件夹中,如果不关心细节,不想细看的朋友,只用关心HttpDownloadTask 的接口就可以了,其他类不用深究。
QT内部工作机制,深入进入QT底层实现细节. 对于想深入了解QT工作原理的,值得一看!
另外,除对每章主题内容的探讨外,还给出了许多与之相关的类、方法和技术细节,从而尽可能多地展示了qt的各种特色。因此,即使是很有经验的qt程序开发人员,也可以从书中找出自己不曾注意到的技术点。书中的全部示例...
qt5.15.2在线安装器和文档,细节
Qt高级编程 完整带书签 高清PDF 带源码 作者: (英)Mark Summerfield ,《qt高级编程》以工程实践...另外,除对每章主题内容的探讨外,还给出了许多与之相关的类、方法和技术细节,从而尽可能多地展示了qt的各种特色。
qt5.5中实现了表格动态一行一行刷新的效果 整体采用多线程的方式实现 细节看代码吧 不要分
本书对Qt进行了全面介绍,充分展示了Qt程序开发模式中的每一个细节。奇趣科技公司就是采用这样一本包含诸多实际应用和深刻见解的书籍来对新员工进行Qt培训的。在本书中,除了可以找到诸如数据库访问、XML集成、...
更多细节,参见博客:http://blog.csdn.net/rl529014/article/details/79090256
QT整体的介绍,从结构上了解QT,个人感觉学QT前先看看这个,有助于学习细节上的东西
初学者常常因为一个细节没有注意到而花费过长的时间;同时,QT本身比较庞大,涉及的知识点较多,这也给学习带来很大的障碍。本手册由飞凌一线工程师撰写,并经过反复测试和修改,力图使广大用户迅速掌握QT的移植方法...
本资源包括4个文件夹,myQtMainWindowDll文件夹里面是qt的工程文件;build-qtdll-Desktop_Qt_5_12_2_MSVC2015_64bit-...具体使用细节参见我的博客:https://blog.csdn.net/weixin_43935474/article/details/105531814
配置好QT5和librviz的ROS包,在melodlc上正确编译运行,具体细节见博客---ROS系统学习11---界面开发1
QT QSemaphore实现了线程同步,详细细节请参考https://blog.csdn.net/qq_37529913?spm=1001.2101.3001.5113 博客QT多线程篇
《Qt高级编程》,作者: (英)Mark Summerfield ,《qt高级编程》以工程实践为主旨,是对qt现有的...另外,除对每章主题内容的探讨外,还给出了许多与之相关的类、方法和技术细节,从而尽可能多地展示了qt的各种特色。