• 17151阅读
  • 3回复

[提问]在用StyleSheet美化QMenu时,如何指定菜单项与快捷键的间距? [复制链接]

上一主题 下一主题
离线apoo
 
只看楼主 倒序阅读 楼主  发表于: 2008-08-15
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
如图,菜单项文字和快捷键之间没有间距。不美化的话应该是有的

美化用的代码如下:
  1.     sheet_ = QString( ""
  2.                       "QMenuBar {"
  3.                       "    background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0, "
  4.                       "                                      stop:0 #EBE9ED, stop:1 #FBF9FB); "
  5.                       "    padding: 0px 6px 0px 6px; "
  6.                       "}"
  7.                       "QMenuBar::item {"
  8.                       "    spacing: 3px; "
  9.                       "    padding: 4px 7px 4px 7px; "
  10.                       "    background: transparent; "
  11.                       "}"
  12.                       "QMenuBar::item:selected {"
  13.                       "    border: 1px solid #335EA8; "
  14.                       "    background: #C2CFE5; "
  15.                       "}"
  16.                       "QMenuBar::item:pressed {"
  17.                       "    border: 1px solid #A7A6AA; "
  18.                       "    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, "
  19.                       "                                      stop:0 #FBFBFB, stop:0.6 #F6F5F7, stop:1 #A7A6AA); "
  20.                       "}"
  21.                       "QMenu {"
  22.                       "    background: #FFFFFF url(:/images/system/qmenu_bg.png) repeat-y top left;"
  23.                       "    border: 1px solid #A7A6AA; "
  24.                       "    padding: 2px 0px 2px 1px;"
  25.                       "}"
  26.                       "QMenu::item {"
  27.                       "    border: 1px solid transparent; "
  28.                       "    margin: 0px 2px 0px 2px; "
  29.                       "    padding: 2px 9px 2px 30px; " // Top Right Bottom Left
  30.                       "}"
  31.                       "QMenu::item:selected {"
  32.                       "    border: 1px solid #335EA8; "
  33.                       "    background: #C2CFE5; "
  34.                       "}"
  35.                       "QMenu::separator {"
  36.                       "    height: 1px; "
  37.                       "    background-color: #A7A6AA; "
  38.                       "    margin-left: 30px; "
  39.                       "    margin-top: 1px; "
  40.                       "    margin-right: 0px; "
  41.                       "    margin-bottom: 1px; "
  42.                       "}"
  43.                       "QMenu::icon:checked {"
  44.                       "    height: 13px; "
  45.                       "    width: 13px;"
  46.                       "    border: 1px solid #335EA8; "
  47.                       "    background: #C2CFE5; "
  48.                       "    margin-left: -1px;"
  49.                       "}"
  50.                       "QMenu::indicator:non-exclusive:unchecked {"
  51.                       "    image: url(:/images/system/checkbox_unchecked.png); "
  52.                       "}"
  53.                       ""
  54.                       "QToolBar {"
  55.                       "    background-color: #EBE9ED; "
  56.                       "    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, "
  57.                       "                                      stop:0 #FBF9FB, stop:0.85 #EBE9ED, stop:1 #D7D6DA); "
  58.                       "}"
  59.                       );
  60.     qApp->setStyleSheet( sheet_ );


还请各位多指教,现在这样子确实不太好看……
离线bobpeter84
只看该作者 1楼 发表于: 2010-08-13
同样的问题 求高手出来解答
离线yfx2003

只看该作者 2楼 发表于: 2010-08-13
不用美化的时候的确是可以直接有的

你美化的大致就是添加一个阴影之类的

好像designer是可以做到的

为什么还要美化呢?
www.qtcn.org/gpq4/
ajaxref.okajax.com/
离线bobpeter84
只看该作者 3楼 发表于: 2010-08-13
我用stylesheet改变了 menubar和menu::item之后 跟楼主情况一样 文字间间距就发生了变化 不知道怎样调节 还请指教
快速回复
限100 字节
 
上一个 下一个