2012-01-23 9 views

ответ

1

Перед тем, как вы его покажете, вам понадобится setGeometry. Самый простой способ, с помощью которого я могу придумать, какую геометрию вам нужно, - QDesktopWidget. Попробуйте пример ниже (создать QPushButton, нажмите на нее при перемещении виджета вокруг различных экранов), и вы увидите, что я имею в виду:

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 
    connect(ui->pushButton, SIGNAL(released()), this, SLOT(ButtonPressed())); 
} 

MainWindow::~MainWindow() 
{ 
    delete ui; 
} 

void MainWindow::ButtonPressed() 
{ 
    qDebug() << QApplication::desktop()->screenCount(); 
    qDebug() << QApplication::desktop()->screenNumber(); 
    qDebug() << QApplication::desktop()->screenGeometry(this); 
} 

Должно быть достаточно просто оттуда придумать общий вариант, который работает (если он существует).

12

При использовании QtQuick, это можно сделать:

import QtQuick 2.2 
import QtQuick.Controls 1.1 
import QtQuick.Window 2.0 

ApplicationWindow { 
    visible: true 
    width: 320 
    height: 480 
    Component.onCompleted: { 
     setX(Screen.width/2 - width/2); 
     setY(Screen.height/2 - height/2); 
    } 
} 
10

ответ продаж гораздо лучше, тем более, что виджеты не упоминались ... Во всяком случае, вот еще более простой вариант его ответа:

import QtQuick 2.2 
import QtQuick.Controls 1.1 
import QtQuick.Window 2.0 

ApplicationWindow { 
    visible: true 
    x: Screen.width/2 - width/2 
    y: Screen.height/2 - height/2 
    width: 320 
    height: 480 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^