Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 31, 2013 21:43:58

blatr
Зарегистрирован: 2013-10-17
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как сильно я люблю Python(или я чего-то не понимаю)(Qtdesigner)

Проблема заключается в следующем: мне был необходим графический интрефейс, поэтому я начал с tkintera. Затем я узнал, что существует qtdesigner(более простой и удобный в плане использования), который должен был мне типо помочь. Но в qtdesigner происходит полный бред, после добавления виджетов я пытаюсь начать редактировать код и нажимаю кнопку “показать код” и вылазит вот такая ошибка (Невозможно запустить CPython33/Lib/site-packages/PyQT4/bin\uic). После долгих хождений по гуглу я набрел на форум , на котором люди пишут о невозможности показывания кода в qtdesigner и предлогают свой метод: тупо кидать, которые нужны и потом работать с ними в отдельных программах. Конкретно там приводился пример программы eclipse(с установленным pydev-ом). Такой метод действительно работает, но все- таки неужели нет способа как починить qtdesigner или какое-нибудь другое, непознанное мною, решение данной проблемы. С уважением, человек, не сильно соображающий в python.

Отредактировано blatr (Окт. 31, 2013 21:46:33)

Офлайн

#2 Окт. 31, 2013 21:56:44

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

как сильно я люблю Python(или я чего-то не понимаю)(Qtdesigner)

Qt - это С++ библиотека, и соответственно QtDesigner из комплекта Qt не сможет сделать для Вас код python. С Qt можно работать из питона, постольку поскольку есть привязки Qt к питону: PyQt и PySide, но вы не получите полнообъемлющего функционала, как например Visual Studio + С# + WPF.
Но суть даже не в этом, а в том, что QtDesigner генерирует XML-подобный конфиг, а Вы его пытаетесь запустить в интерпретаторе питона. С тем же успехом можете попробовать запустить Войну и мир и удивиться, что глупый питон не понимает произведений великого классика.

Ну и по сабжу. Херово ты искал.



Офлайн

#3 Окт. 31, 2013 22:04:27

blatr
Зарегистрирован: 2013-10-17
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

как сильно я люблю Python(или я чего-то не понимаю)(Qtdesigner)

FishHook
Qt - это С++ библиотека, и соответственно QtDesigner из комплекта Qt не сможет сделать для Вас код python. С Qt можно работать из питона, постольку поскольку есть привязки Qt к питону: PyQt и PySide, но вы не получите полнообъемлющего функционала, как например Visual Studio + С# + WPF.Но суть даже не в этом, а в том, что QtDesigner генерирует XML-подобный конфиг, а Вы его пытаетесь запустить в интерпретаторе питона. С тем же успехом можете попробовать запустить Войну и мир и удивиться, что глупый питон не понимает произведений великого классика.Ну и по сабжу. Херово ты искал.
Я правильно понял, что мне придется выполнять те же операции как, если бы я работал с Tkinter-ом? Получается, что отличия между ними только в функционале? Я действительно надеялся найти аналог visual studio для Python ибо очень уж он удобный)

Отредактировано blatr (Окт. 31, 2013 22:09:37)

Офлайн

#4 Окт. 31, 2013 22:14:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

как сильно я люблю Python(или я чего-то не понимаю)(Qtdesigner)

Еще раз.
С википедии цитирую.

Разработанный интерфейс сохраняется в файл с расширением ui, который подключается к создаваемой программе с помощью специальных методов библиотеки Qt. Этот файл имеет xml-формат, и может, в случае необходимости, редактироваться в любом текстовом редакторе.
Этот файл с расширением .ui Вам нужно подключить к своей питон-программе.
Вот с туториала
#! /usr/bin/env python
import sys
from PyQt4 import QtGui, uic
app = QtGui.QApplication(sys.argv)
window = uic.loadUi("imagedialog.ui")
window.show()
sys.exit(app.exec_()

#! /usr/bin/env python
import sys
from PyQt4 import QtCore, QtGui, uic
class ImageDialog(QtGui.QDialog):
     def __init__(self):
         QtGui.QDialog.__init__(self)
         # Set up the user interface from Designer.
        self.ui = uic.loadUi("imagedialog.ui")
	self.ui.show()
         # Make some local modifications.
         self.ui.colorDepthCombo.addItem("2 colors (1 bit per pixel)")
         # Connect up the buttons.
         self.connect(self.ui.okButton, QtCore.SIGNAL("clicked()"),
                      self, QtCore.SLOT("accept()"))
         self.connect(self.ui.cancelButton, QtCore.SIGNAL("clicked()"),
                      self, QtCore.SLOT("reject()"))
app = QtGui.QApplication(sys.argv)
window = ImageDialog()
sys.exit(app.exec_())



Отредактировано FishHook (Окт. 31, 2013 22:16:51)

Офлайн

#5 Ноя. 1, 2013 00:21:36

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

как сильно я люблю Python(или я чего-то не понимаю)(Qtdesigner)

И еще: изучите учебник по PyQt Прохоренка.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version