Qt样式表(6):使用样式表设置工具栏及菜单的外观
本文为原创文章,转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇)
本文出自本人原创著作《Qt5.10 GUI完全参考手册》网盘地址:
https://pan.baidu.com/s/1iqagt4SEC8PUYx6t3ku39Q
《C++语法详解》网盘地址:https://pan.baidu.com/s/1dIxLMN5b91zpJN2sZv1MNg
若对C++语法不熟悉,建议参阅本人所著《C++语法详解》一书,电子工业出版社出版,该书语法示例短小精悍,对查阅C++知识点相当方便,并对语法原理进行了透彻、深入详细的讲解,可确保读者彻底弄懂C++的原理,彻底解惑C++,使其知其然更知其所以然。此书是一本全面了解C++不可多得的案头必备图书。
3、主窗口、可停靠窗口、状态栏、工具栏、菜单
示例13.22:QToolBar、QMenu、QMenuBar(效果见图13-39和图13-40)
#include<QtWidgets>
int main(int argc, char *argv[]){ QApplication aa(argc,argv);
QMainWindow w; //使用主窗口
//创建并向主窗口添加QToolBar
QToolBar *pt=new QToolBar(&w); pt->addAction("AAA");
QToolBar *pt1=new QToolBar(&w); pt1->addAction("BBB");
QToolBar *pt2=new QToolBar(&w);
pt2->addAction("CCC"); pt2->addSeparator(); pt2->addAction("DDD");
w.addToolBar(pt); w.addToolBar(pt1); w.addToolBar(pt2);
//创建并向主窗口添加菜单
QMenuBar *pb=w.menuBar(); QMenu *pm=new QMenu("111"); QMenu *pm1=new QMenu("222");
pm->addMenu(pm1); pm1->addAction("333"); pm1->addAction("444");
pm->addAction("555"); pm->addAction("666");
pb->addMenu(pm); pb->addAction("777"); pb->addAction("888");
aa.setStyleSheet(
//1、工具栏位于顶部或左侧时的背景色为红色
"QToolBar:top,QToolBar:left { background-color:red;}"
//2、工具栏位于行分组的中间位置时的背景色为绿色
"QToolBar:middle {background-color:green;}"
//3、工具栏位于顶部或左侧时,其手柄背景色为紫色,宽度和高度各为22像素
//注:在顶部时需设置宽度,在左侧时需设置高度,否则手柄不可见
"QToolBar::handle:top,QToolBar::handle:left {"
"background-color:rgb(111,1,111);width:22px;height:22px;}"
//4、工具栏分隔符的背景色为黄色,在水平方向时宽度为11,在垂直方向时高度为11
"QToolBar::separator{background-color:rgb(111,111,1); width:11px;height:11;}"
//5、以下为对菜单和菜单栏的设置(较简单)
"QMenuBar{background-color:rgb(111,111,1);spacing:10;}" //黄色
"QMenuBar::item{background-color:green;}" //绿色
"QMenu{background-color:rgb(111,111,1);}" //黄色
"QMenu::item{background-color:green;}" //绿色
"QMenu::item:selected{background-color:red;}" //红色(被选择时)
);
w.resize(400,333); w.show(); return aa.exec();}
本文作者:黄邦勇帅(原名:黄勇)