Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Разработка GUI > PyQt. Вывести результат функции в окно


Автор: vshnukrshna 12.7.2013, 20:44
Здравствуйте. Использую python 2.7.5, PyQt 4.8.4. (я правда совсем новичок еще).
Сейчас я могу создать окно с кнопкой, нажимая которую, выполняется какая-либо функция. (Например: инкремент числа). Но результат функции выводится на консоль. А как сделать так, чтоб он еще выводился в окно и отображался рядом с кнопкой?

Автор: OzMod 8.7.2014, 21:58
Вот пример

Код

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_()) # Запускаем цикл

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)