UID:82305
引用楼主davis45 : 我在加载view的背景图片时,遇到一个问题,原本是800*600的图片,现在只显示部分,我想做个checkbox,让图片加载后,点击checkbox能够自适应窗口大小,我原本加载背景使用的是setBackgroundBrush(),但是现在需要自适应大小,就有点不知所措了.......
引用第10楼beaujolais于2010-09-15 16:03发表的 Re:Re:(新问题) : 你是想在一个矩形区域内放一个图片么? 并让图片的大小与矩形区域一致? .......
UID:82419
引用第8楼davis45于2010-09-15 14:28发表的 Re:(新问题) : 这个方法貌似不行,由于使用了QBrush吧,最后图片是被粉刷出来的一样,从中心点开始分了四个块儿 [图片]
引用第6楼davis45于2010-09-14 16:10发表的 : 您用的Qt版本是多少啊?里面加了一些我这里没有的函数,比如setViewportUpdateMode(); 还有drawRoundedRect(); 我这个版本下的是drawRoundRect();函数,不知道效果是否一样 [图片] .......
引用第7楼davis45于2010-09-15 13:53发表的 (新问题) : 我记得有个函数是选取图片的大小,然后添加到一个矩形大小的区域的 可惜不记得是哪个里面的了 找到了QPixmap::scaled(),先试试
图片:捕获.JPG
引用第2楼beaujolais于2010-09-14 15:35发表的 : 你说的这些功能一点都不麻烦啊,你写个QGraphicsItem模板,然后再继承一个QGraphicsView,在里面建立你的QGraphicsItem,想要多少就用多少。 然后直接重写QGraphicsItem的鼠标事件就可以了~~checked是有状态的,你做下检测嘛,如果checked鼠标事件就有效,否则不做任何处理。 附上一个我最近项目中用到的一个模板~~~
引用第3楼sbtree于2010-09-14 15:48发表的 : 第一个问题,只要在checkBox改变的时候,对graphics item设置setFlag(QGraphicsItem::ItemIsMovable, checkBox->checked())就可以了 第二个问题,只能通过创建两个graphics item实例解决。另外一点,同一个scene的实例可以放到不同的View中,利用这个特点或许对你的问题能有所帮助
UID:45873