1. 程式人生 > >Qt獲取視窗在整個螢幕的座標

Qt獲取視窗在整個螢幕的座標

最近在做專案的過程中,遇到了一個問題,由於介面是採用無標題的視窗,除主介面以外還有一些子視窗,我希望子視窗每次彈出都在主視窗的正中間,即使主視窗移動到邊上,子視窗也是顯示在正中間,所以必須獲得父視窗在螢幕的座標位置,然後對子視窗進行this->setGeometry()這個操作,剛開始我直接在子視窗的建構函式設定this->setGeometry(main.x()+100,main.y()+50,100,345),執行後發現沒有什麼反應,然後我在子視窗的建構函式中列印父視窗的main.x(),main.y(),發現是0,0,然後我就很鬱悶,後來在網上查資料,才知道主介面還沒有出來,所以在子介面獲得的座標是(0,0),所以我在主介面點選彈出子介面的槽函式中獲得主介面的座標this->pos(),定義個全域性變數QPoint p;用來儲存父視窗的座標,然後在再子介面的建構函式中用this->setGeometry(p.x()+100,p.y()+50,100,345);最終獲得了我想要的結果

this->pos()獲得該介面的座標

相關推薦

Qt獲取視窗整個螢幕座標

最近在做專案的過程中,遇到了一個問題,由於介面是採用無標題的視窗,除主介面以外還有一些子視窗,我希望子視窗每次彈出都在主視窗的正中間,即使主視窗移動到邊上,子視窗也是顯示在正中間,所以必須獲得父視窗在螢幕的座標位置,然後對子視窗進行this->setGeometry(

螢幕Qt獲取程式所在螢幕的位置

用QtBrowserplugin開發的ActiveX元件,在IE網頁和WPF桌面客戶端中使用。 在機器接雙顯示器的情況下,彈出以螢幕為基準的窗體時,可用如下方法進行操作: 1.獲取activeX視窗在桌面上的絕對位置 2.通過此絕對位置獲取activeX視窗所在螢幕上的幾

Qt獲取控制元件位置座標詳解

1.     QPoint QMouseEvent::pos()      這個只是返回相對這個widget(過載了QMouseEvent的widget)的位置。       const Returns the position of the mouse cursor, r

Qt 獲取視窗

ui中新增一個MDI Area控制元件mdiArea 標頭檔案新增#include <Windows.h>並且新增#pragma comment(lib, "user32.lib")或是p

滑鼠事件和座標獲取(視窗座標螢幕座標)

本文主要介紹重寫自帶的一些方法,拾取螢幕和視窗座標資訊 效果如下: 分析: 定時服務:在固定一段時間後執行相關的函式方法,例如這裡表示的是在0秒後執行self.giveHelp這個方法 QTimer.singleShot(0, s

Qt 獲取當前螢幕解析度

  使用Qt製作電腦介面的時候就不能避免遇到不同螢幕解析度的電腦。針對不同解析度對自己設定的介面也需要進行一系列的調整。   在Qt5之前獲取螢幕解析度主要使用desktop()函式,但是在Qt5以後就不在使用,而是使用的QScreen。 使用示例: 在標頭檔案宣告: #in

Window外掛獲取視窗座標

本帖最後由 兄弟工程師05 於 2013-3-22 09:01 編輯 Window外掛獲取視窗座標[code]Call RunApp("notepad.exe") Delay 1500 //0表示忽略 //下面這句是查詢視窗類名("Notepad")或者標題(0),返回找到的控制代碼Hwnd Di

關於Qt視窗座標

主要是給自己以後參考,所以不會太仔細的講解。 1 #include "mainwindow.h" 2 #include <QApplication> 3 #include<QDebug> 4 int main(int argc, char *argv[]) 5 {

海思3531獲取多個攝像頭在整個螢幕的畫面

要想獲取整個攝像頭畫面在整個螢幕的畫面只需要比平常的操作多一步即可,例如通常海思SDK通常提供的VENC例子裡的流程是:VI->VPSS->VENC,而我們把他修改成VI->VPSS->虛擬VO->VENC,這樣我們就可以獲取所有攝像頭在螢幕顯示的畫面。虛擬VO配置如下

Qt獲取控制元件的大小,以及主視窗大小為什麼一樣大小

MainWindow::MainWindow(QWidget *parent) : QWidget(parent) { QPushButton *button = new QPushButton(tr("abc")); HelloWorld *m

Qt 獲取螢幕資訊

    void GetScreenInfo() { QDesktopWidget* desktopWidget = QApplication::desktop(); //獲取可用桌面大小 QRect deskRect = desktopWidget-&g

Qt中子視窗獲取頂層視窗、頂層視窗獲取視窗的方法

foreach(QWidget *win,qApp->topLevelWidgets()) { if(MainWindow *mainWin=qobject_cast<MainWindow *>(win)) {

邏輯座標與裝置座標——全視窗座標螢幕座標、客戶區座標的總結

Windows應用程式繪製圖形時使用的是一種邏輯單位,每個邏輯單位的大小由對映模式決定,這個邏輯單位既可以與裝置單位(螢幕或印表機上的一個畫素點)相同,也可以是一種物理單位(如毫米),還可以是使用者自定義的一種單位。在Windows應用程式中,只要與輸出有關係,都要使用對映

MFC獲取視窗和客戶區座標分析

CWnd* pWnd = GetDlgItem(IDB_BUT_RECOGNIZE); pWnd->GetClientRect(&rect);   //指該控制元件自身客戶區的矩形,原點為控制元件左上角,長寬為整個控制元件的尺寸 ClientToScreen(

GetWindowRect 獲取視窗矩形座標

(1)、GetWindowRect,用於取視窗矩形座標。返回值型別:布林型(LongBool)。執行成功返回真(True),否則返回假(False);引數1型別:整數型(HWND),目標視窗的視窗控制代碼;引數2型別:座標結構(RECT),目標視窗的座標結構地址。在Win

獲取螢幕座標,可用作Robot開發的工具

import java.awt.Dimension; import java.awt.MouseInfo; import java.awt.Point; import java.awt.Robot; import java.awt.event.ActionEvent; imp

Unity如何獲取滑鼠當前幀和上一幀的螢幕座標

在實際開發過程中,經常用到獲取滑鼠當前幀和上一幀的螢幕座標差,今天我就簡單寫一個框架,希望對大家有所幫助: 注意在計算兩幀座標時,一定要記得把第一幀去除,否則會出現跳動,給人以不連續感覺! FR:海濤高軟(Hunk Xu) QQ群:3864767

C#中使用GetCursorPos獲取螢幕座標

<?xml version="1.0" encoding="UTF-8"?> [StructLayout(LayoutKind.Sequential)] p

Qt中根據pc螢幕解析度按比例修改視窗的大小

#ifndef FITWINDOW_H #define FITWINDOW_H #include <QObject> #include <QWidget> //////////////////////////////////////////////

Qt獲取控制元件位置,座標總結

      Returns the position of the cursor (hot spot) of the primary screen in global screen coordinates. You can call QWidget::mapFromGlobal() to translate