• 8634阅读
  • 4回复

[提问]无边框QMainwindow窗口拖动时,窗口位置瞬移跳动问题 [复制链接]

上一主题 下一主题
离线纵刀少年
 

只看楼主 正序阅读 楼主  发表于: 2014-05-03
用下面代码来实现无边框窗口位置的拖动。现在的问题是,我在窗口中空白位置时,按下鼠标拖动没问题。但当我点击如QComboBox、QAction、QToolBar拖动的时候,鼠标坐标和窗口位置都会瞬间调到另一个位置。请问该如何修改?





void MainWindow::paintEvent(QPaintEvent *)
{    QPainter painter(this);    
painter.drawPixmap(m_pixmapBg.rect(), m_pixmapBg);
}
void MainWindow::mouseMoveEvent(QMouseEvent *e)
{  
this->move(e->globalPos() - m_pointStart);
}
void MainWindow::mousePressEvent(QMouseEvent *e)
{
  if(e->button()==Qt::LeftButton)
    {    
    m_pointPress = e->globalPos();    
    m_pointStart = m_pointPress - this->pos();    
    }
}
离线纵刀少年

只看该作者 4楼 发表于: 2014-05-04
回 ashe0817 的帖子
ashe0817:http://blog.csdn.net/aqtata/article/details/8902889  (2014-05-03 20:03) 

很好,感谢!
离线ashe0817

只看该作者 3楼 发表于: 2014-05-03
离线纵刀少年

只看该作者 2楼 发表于: 2014-05-03
回 纵刀少年 的帖子
纵刀少年:对了,还有两个问题,工具栏的位置能不能调到居中位置。
1:现在我的背景图片因为包含了一定的透明像素,而且是圆角的。那条工具栏就往外边突出来了~~~~
虽然可以更改size和更改LayoutDirection,但不是偏左边就是偏右边(只有两个方向选择)。
....... (2014-05-03 15:40) 

上图加了背景图片之后,停靠在图标上的效果不是透明的,而是一条惨白的边框....
这这一句而已。mainToolBar->setStyleSheet("background-image: url(:/pic/toolbar.png);");
离线纵刀少年

只看该作者 1楼 发表于: 2014-05-03
对了,还有两个问题,工具栏的位置能不能调到居中位置。

1:现在我的背景图片因为包含了一定的透明像素,而且是圆角的。那条工具栏就往外边突出来了~~~~
虽然可以更改size和更改LayoutDirection,但不是偏左边就是偏右边(只有两个方向选择)。

2:这工具栏还有一个诡异的问题,当我不用style sheet设置背景图片的时候,鼠标停靠在QAction上显示的效果和没背景图片的时候是不一样的!求解orz.....

快速回复
限100 字节
 
上一个 下一个