Вот пример
| Код | from PyQt4 import QtGui, QtCore import sys
def WinCenter(): WinPos = QtGui.QApplication.desktop() # Определение размера экрана posX, posY = (WinPos.width() - sizeX) // 2 ,(WinPos.height() - sizeY) // 2 # Высчитываем середину экрана window.setGeometry(posX,posY,sizeX,sizeY) # setFixedSize(x,y- Фиксированный размер окна) resize Размер окна или setGeometry(x,y,Ширина,Высота) Btn.hide() # Скрываем кнопку lb = QtGui.QLabel('<center> Центр ЭКРАНА !!! </center>'+'<center>'+'X='+str(posX)+' Y='+str(posY)+'</center>') vbox.addWidget(lb) # Привязываем кнопку к методу QVBoxLayout()
app = QtGui.QApplication(sys.argv) # Принимает список параметров переданных командной строке window = QtGui.QWidget() # Создание окна window.setWindowTitle('Заголовок окна') # Текст в заголовке окна WinPos = QtGui.QApplication.desktop() # Определение размера экрана sizeX, sizeY = (300, 70) # Задаём переменные размера окна window.resize(sizeX,sizeY) # Задаём размер окна vbox = QtGui.QVBoxLayout() # Метод растагивания виджетов в нутри окна Btn = QtGui.QPushButton('&Окно в центр') # Создаём кнотку vbox.addWidget(Btn) # Привязываем кнопку к методу QVBoxLayout() window.setLayout(vbox) # Привязка окна к методу window.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.MSWindowsFixedSizeDialogHint) # Тип окна (Widget,Window,Dialog,Sheet,Drawer,Popup,Tool,ToolTip,SplashScreen,Desktop,SubWindow
QtCore.QObject.connect(Btn, QtCore.SIGNAL("clicked()"), WinCenter) # Метод обработки нажатия window.show() # Показываем окно rec = window.frameGeometry() # Задаём метод размера окна с рамками Task = (WinPos.availableGeometry().height() - rec.height() - 6) # Вычисляем координаты окна window.move(0,Task) # Задаём расположение окна sys.exit(app.exec_()) # Запускаем цикл
|
|