1. 插入间隔
(1)QSpacerItem *vSpacer;
vSpacer = new QSpacerItem(0, 30, QSizePolicy::Expanding, QSizePolicy::Minimum);
layout->insertSpacerItem(3,vSpacer);
(2)layout->insertSpacing(1, 50);
等等;
2. Layout 的使用
(1)QVBoxLayout,QHBoxLayout, QGridLayout等,在creator中可以使用.ui来拖进窗体内,也可以new出来。不过拖进窗体时,它自动创建了一个放置的窗体来放置layout。
(2) 当你使用窗体的函数setLayout时,它会自动将此layout尺寸适应窗体尺寸。
(3) layout的函数addWidget可以加载窗体。
(4) 加载进去的窗体可以使用setMinimumHeight之类函数把窗体的最小尺寸或是其他限制了,layout就能根据这些来安排控件位置了。
(5)各类layout还能组合嵌套,不过记得要嵌套时需要在里面的layout外加一层widget,然后再嵌套外层layout。
3. 改变左上角窗体名称和图标
窗体函数:
(1)setWindowTitle(tr("XXX"));//改变标题栏名称。
(2)QIcon iconWin("..icons//soft//QQ.png");
setWindowIcon(iconWin);//改变标题栏以及最小化左边的图标
4. QToolBar的使用
QToolBar *fileToolBar;
QAction *newAct;
QAction *openAct;
newAct = new QAction(QIcon("..icons//soft//QQ.png"), tr("&New"), this);//(1)
connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));
openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this);//(2)
connect(openAct, SIGNAL(triggered()), this, SLOT(open()));
fileToolBar = new QToolBar(tr("File"), this);//或者在mainwindow的程序里使用fileToolBar = addToolBar(tr("File"));
fileToolBar->addAction(newAct);
fileToolBar->addAction(openAct);
(1) 无论菜单还是toolbar等都需要QAction,然后添加进去就行了。
(2) 给toolbar的button增加图片,和上面的方式有些不同,我使用了另外一种方式,同样可以。看上面的代码创建newAct和openAct的2种加载图片方式,在使用第2种方式时,creator中,在工程上点击右键,选择Add New..., 选择添加resource file,先add prefix,就是你的.qrc文件的位置,比如只写一个“/”,说明就是在工程根目录下,然后选择add file。把你的.png文件等加进去吧。
(3) 想实现可停靠的toolbar最好建一个mainwindow的程序,dialog可能需要自己去设计了,所以何必呢。