Qt4 Debug小技巧--让Qt4的窗口置顶.不会跑到VS的后面.看不见.

写程序.尤其是开发游戏应用.最需要的就是看到运行结果.如果debug的时候看不到当前刷屏的瞬间效果.会感到非常的不爽.

实际上本文仅仅是提到一句话就可以解决这个问题.

 

在windows API开发的时候可以

HWND CreateWindowEx(
  DWORD dwExStyle,
  LPCTSTR lpClassName,
  LPCTSTR lpWindowName,
  DWORD dwStyle,
  int x,
  int y,
  int nWidth,
  int nHeight,
  HWND hWndParent,
  HMENU hMenu,
  HINSTANCE hInstance,
  LPVOID lpParam
);
 
dwExStyle设置成置顶就不会跑到窗口的后面了.这样就会看到完整的debug效果.
但是开发Qt4就没有这个条件CreateWindowEx了..是QWidget.....咋办.
实际上还有个函数可以设置windows置顶.

 

BOOL SetWindowPos(
  HWND hWnd,
  HWND hWndInsertAfter,
  int X,
  int Y,
  int cx,
  int cy,
  UINT uFlags
); 

 

ok使用这个函数就可以搞定这些问题了.

第一个参数:::获取 windows的句柄.Qt给每个widget都有一个句柄的实例.获得句柄是非常容易的.

WId QWidget::winId () const (QWidget获取hwind的函数).

第二个参数:::设置窗口行为HWND_TOPMOST(设置成这个就是置顶的意思)

第三个参数:::设置窗口在屏幕的x位置.(是按左上角的点为基准)

第四个参数:::设置窗口在屏幕的y位置.(是按左上角的点为基准)

第五个参数:::设置窗口width

第六个参数:::设置窗口height

第七个参数:::设置窗口的标志

 

实例:

QTSWidget::QTSWidget(QWidget *parent)
    : QWidget(parent)
{
    SetWindowPos(winId(),HWND_TOPMOST,
    1280-WinWid,100,WinWid,WinHgt,SWP_SHOWWINDOW);
     .............................................. 
}

 

这样debug Qt4程序 窗口就不会跑到后面去了.

 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值