Ockonal
Март 15, 2009 18:18:19
Создал GUI с помощью QtCreator'a. Через pyuic создал класс, вот нужные строки:
class DialogClass(object):
def setupUi(self, Form):
Form.setObjectName("Form")
self.IpSend = QtGui.QLineEdit(Form)
self.IpSend.setGeometry(QtCore.QRect(21, 0, 81, 25))
self.IpSend.setObjectName("IpSend")
Все ок, есть поле ввода, но проблема в том, что в него нельзя ничего ввести. После нажатия по нему, оно не активируется… В чем может быть проблема?
poltergeist
Март 15, 2009 22:46:22
возможно readonly, других причин не вижу, не телепат, пример ни о чём не говорит
Ockonal
Март 16, 2009 07:17:25
Не, не readonly. Моя прога нормально работает на винде.. В Линуксе не хочет =(
ZZZ
Март 16, 2009 08:27:53
Ockonal, ты как-то странно описал…
Попробуй чисто для красоты "IpSend.setEnable(True)"… Хотя и бред это.
poltergeist
Март 16, 2009 13:28:05
ui файл в студию, дома на линуксе могу посмотреть
Ockonal
Март 16, 2009 19:43:10
ZZZ,
IpSend.setEnable(True)
Ничего не дало.
ты как-то странно описал…
Почему странно? Поле просто неактивно. Я нажимаю для ввода: реакции 0.
setText(…) работает норм.
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file ‘/home/ockonal/Programming/effe/src/ui/IpDialog/IpDialog.ui’
#
# Created: Wed Mar 11 18:42:00 2009
# by: PyQt4 UI code generator 4.4.4
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
import os
import sys
from Worker import *
class IpDialogClass(object):
def setupUi(self, Form):
Form.setObjectName(“Form”)
Form.resize(145, 25)
self.IpSend = QtGui.QLineEdit(Form)
self.IpSend.setEnabled(True)
self.IpSend.setGeometry(QtCore.QRect(0, 0, 102, 24))
#self.IpSend.setMaxLength(15)
#self.IpSend.setAlignment(QtCore.Qt.AlignCenter)
self.IpSend.setObjectName(“IpSend”)
self.AcceptSend = QtGui.QPushButton(Form)
self.AcceptSend.setGeometry(QtCore.QRect(98, 0, 24, 24))
#self.AcceptSend.setAutoFillBackground(False)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(“././images/accept.png”))
self.AcceptSend.setIcon(icon)
self.AcceptSend.setIconSize(QtCore.QSize(16, 16))
self.AcceptSend.setObjectName(“AcceptSend”)
self.DiscardSend = QtGui.QPushButton(Form)
self.DiscardSend.setGeometry(QtCore.QRect(120, 0, 24, 24))
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(“././images/cancel.png”))
self.DiscardSend.setIcon(icon1)
self.DiscardSend.setObjectName(“DiscardSend”)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(“././images/key.png”))
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
Form.setWindowTitle(QtGui.QApplication.translate(“Form”, “Form”, None, QtGui.QApplication.UnicodeUTF8))
#self.IpSend.setInputMask(QtGui.QApplication.translate(“Form”, “xxx.xxx.xxx.xxx; ”, None, QtGui.QApplication.UnicodeUTF8))
#self.IpSend.setText(QtGui.QApplication.translate(“Form”, “192.168.1.1”, None, QtGui.QApplication.UnicodeUTF8))
Ockonal
Март 17, 2009 00:04:22
А мне может кто-то дать свою программу с полем ввода, которая работает у вас? Чтобы я проверил.
P.S.
У меня Linux Kubuntu 8.10
poltergeist
Март 17, 2009 00:07:53
Я ui файл вроде просил, ну да ладно…
Пойдёт?
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])
w = QtGui.QLineEdit()
w.show()
app.exec_()
Ockonal
Март 17, 2009 06:26:13
Сорри, чуток не въехал на счет ui-файла =) Видать, поздно было. Ещё нужен?. Твой код, через консоль, работает. Вводить текст могу.
ZZZ
Март 17, 2009 06:48:43
Ockonal, покажи _весь_ уи и весь код.