读书人

请问:QLayout排版有关问题

发布时间: 2012-09-15 19:09:28 作者: rapoo

请教:QLayout排版问题。



C/C++ code
QPushButton#TopSec{    border-image:url(":/Skin/Security_NB.png");    border:0px;}QPushButton#TopSec:hover{    border-image:url(":/Skin/Security_PB.png");}QPushButton#TopSec:checked{    border-image:url(":/Skin/Security_PB.png");}


QPushButton 加载QSS如上所示:加载两个图片。。正常,鼠标置上,按下

1.如何实现,单击Button2,让Button1的按下状态恢复成正常状态。

2.QLayout加载控件后,在setLayout之后,会在QWidget上产生图所示的红线,如何才能缩小这个差距。
让QLayout铺满整个QWidget。



[解决办法]
layout->setMargin(0);
layout->setSpacing(0);

[解决办法]
第一个问题,给btn2添加一个槽函数,clicked()之后,btn1的状态设置为正常

第二个 图看的不是很清除2楼说的 setMargin 就是调整layout和边框的间距的


楼主也可以在border上做做文章。
[解决办法]
btn1->setStyleSheet("QPushButton{background:url(:/Resources/pause_nor.png);border:0px;}"/*正常状态*/
"QPushButton:hover{background:url(:/Resources/pause_over.png);border:0px}"/*鼠标经过*/
"QPushButton:pressed{background:url(:/Resources/pause_over.png); position: relative;top: 1px; left: 1px;}"/*鼠标按下*/);
当按下btn2的时候btn1的按下状态自动就会消失的,不知楼主的btn1为什么会一直是按下状态?

读书人网 >QT开发

热点推荐