2016-11-01 11 views
1

私はPython用のQt Designerを使い始めたばかりですが、私はメインウィンドウを設計しました。ボタンをクリックしたときにラベルを追加したいと思います。レイアウトを使用するanserwersが見つかりましたが、Qt Designerを使用しているようです。イムはこれをしよう:Somoneのは私を助けることができる場合PyQtを実行しているプログラムでラベルを追加

from main_ui import * 
import sys 
def send(): 
     label=QtGui.QLabel(myapp.ui.centralwidget) 
     label.setGeometry(QtCore.QRect(10, 10, 46, 13)) 
     label.setText(myapp.ui.lineEdit.text()) 


try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    def _fromUtf8(s): 
     return s 
app = QtGui.QApplication(sys.argv) 
myapp = StartQT4() 
myapp.show() 
QtCore.QObject.connect(myapp.ui.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), send) 

QtCore.QMetaObject.connectSlotsByName(myapp) 

sys.exit(app.exec_()) 

をし、それがラベルを追加したいnothing.Iないと私はそれを行う方法を見つけるカント、私は感謝するでしょうしてください。私のUIファイルがある:

from PyQt4 import QtCore, QtGui 
import time 

try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    def _fromUtf8(s): 
     return s 

try: 
    _encoding = QtGui.QApplication.UnicodeUTF8 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig, _encoding) 
except AttributeError: 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig) 
class StartQT4(QtGui.QMainWindow): 
    def __init__(self, parent=None): 
     QtGui.QWidget.__init__(self, parent) 
     self.ui = Ui_MainWindow() 
     self.ui.setupUi(self) 

class Ui_MainWindow(object): 

    def setupUi(self, MainWindow): 
     MainWindow.setObjectName(_fromUtf8("MainWindow")) 
     MainWindow.resize(767, 600) 
     self.centralwidget = QtGui.QWidget(MainWindow) 
     self.centralwidget.setObjectName(_fromUtf8("centralwidget")) 
     self.pushButton = QtGui.QPushButton(self.centralwidget) 
     self.pushButton.setGeometry(QtCore.QRect(230, 300, 75, 23)) 
     self.pushButton.setObjectName(_fromUtf8("pushButton")) 
     self.lineEdit = QtGui.QLineEdit(self.centralwidget) 
     self.lineEdit.setGeometry(QtCore.QRect(80, 330, 371, 71)) 
     self.lineEdit.setObjectName(_fromUtf8("lineEdit")) 
     MainWindow.setCentralWidget(self.centralwidget) 
     self.menubar = QtGui.QMenuBar(MainWindow) 
     self.menubar.setGeometry(QtCore.QRect(0, 0, 767, 21)) 
     self.menubar.setObjectName(_fromUtf8("menubar")) 
     MainWindow.setMenuBar(self.menubar) 
     self.statusbar = QtGui.QStatusBar(MainWindow) 
     self.statusbar.setObjectName(_fromUtf8("statusbar")) 
     self.scrollArea = QtGui.QScrollArea(self.centralwidget) 
     self.scrollArea.setGeometry(QtCore.QRect(130, 70, 301, 191)) 
     self.scrollArea.setWidgetResizable(True) 
     self.scrollArea.setObjectName(_fromUtf8("scrollArea")) 
     self.scrollAreaWidgetContents = QtGui.QWidget() 
     self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 299, 189)) 
     self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents")) 
     self.scrollArea.setWidget(self.scrollAreaWidgetContents) 
     p= QtGui.QPalette() 
     p.setColor(QtGui.QPalette.Background, QtCore.Qt.white) 
     self.scrollArea.setAutoFillBackground(True) 
     self.scrollArea.setPalette(p) 
     self.retranslateUi(MainWindow) 

    def retranslateUi(self, MainWindow): 
     MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None)) 
     self.pushButton.setText(_translate("MainWindow", "send", None)) 
+1

あなたはそれを追加した後、 'label.showを()'を呼び出すしようとしたことがあり –

+0

うわー、私は前にそれを試してみましたが、それは何とかうまくいきませんでした、そしてそれ:?!-fileは「GUI.py」と命名されました今すぐやるよ!Tあなたをとてもハンクします。 –

+0

ウィジェットは、親が表示される前に作成されている場合は、その親とともに表示されます。その後、showを手動で呼び出す必要があります。これにより、ウィジェットを作成してオンデマンドで表示することができます。 デザイナーがレイアウトを使用していないことをあなたが何を意味しているのかよくわからないのは、それが通常行うことです。 –

答えて

0

あなたのGUIの説明にラベルを追加する必要があります

from PyQt4 import QtCore, QtGui 
import time 

try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    def _fromUtf8(s): 
     return s 

try: 
    _encoding = QtGui.QApplication.UnicodeUTF8 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig, _encoding) 
except AttributeError: 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig) 
class StartQT4(QtGui.QMainWindow): 
    def __init__(self, parent=None): 
     QtGui.QWidget.__init__(self, parent) 
     self.ui = Ui_MainWindow() 
     self.ui.setupUi(self) 

class Ui_MainWindow(object): 

    def setupUi(self, MainWindow): 
     MainWindow.setObjectName(_fromUtf8("MainWindow")) 
     MainWindow.resize(767, 600) 
     self.centralwidget = QtGui.QWidget(MainWindow) 
     self.centralwidget.setObjectName(_fromUtf8("centralwidget")) 
     self.pushButton = QtGui.QPushButton(self.centralwidget) 
     self.pushButton.setGeometry(QtCore.QRect(230, 300, 75, 23)) 
     self.pushButton.setObjectName(_fromUtf8("pushButton")) 
     self.lineEdit = QtGui.QLineEdit(self.centralwidget) 
     self.lineEdit.setGeometry(QtCore.QRect(80, 330, 371, 71)) 
     self.lineEdit.setObjectName(_fromUtf8("lineEdit")) 

     self.label = QtGui.QLabel(self.centralwidget) 
     self.label.setGeometry(QtCore.QRect(80, 400, 371, 71)) 
     font = QtGui.QFont() 
     font.setPointSize(16) 
     self.label.setFont(font) 
     self.label.setStyleSheet(_fromUtf8("color:rgb(255, 85, 127)")) 
     self.label.setObjectName(_fromUtf8("label")) 


     MainWindow.setCentralWidget(self.centralwidget) 
     self.menubar = QtGui.QMenuBar(MainWindow) 
     self.menubar.setGeometry(QtCore.QRect(0, 0, 767, 21)) 
     self.menubar.setObjectName(_fromUtf8("menubar")) 
     MainWindow.setMenuBar(self.menubar) 
     self.statusbar = QtGui.QStatusBar(MainWindow) 
     self.statusbar.setObjectName(_fromUtf8("statusbar")) 
     self.scrollArea = QtGui.QScrollArea(self.centralwidget) 
     self.scrollArea.setGeometry(QtCore.QRect(130, 70, 301, 191)) 
     self.scrollArea.setWidgetResizable(True) 
     self.scrollArea.setObjectName(_fromUtf8("scrollArea")) 
     self.scrollAreaWidgetContents = QtGui.QWidget() 
     self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 299, 189)) 
     self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents")) 
     self.scrollArea.setWidget(self.scrollAreaWidgetContents) 
     p= QtGui.QPalette() 
     p.setColor(QtGui.QPalette.Background, QtCore.Qt.white) 
     self.scrollArea.setAutoFillBackground(True) 
     self.scrollArea.setPalette(p) 
     self.retranslateUi(MainWindow) 

    def retranslateUi(self, MainWindow): 
     MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None)) 
     self.pushButton.setText(_translate("MainWindow", "send", None)) 

は、その後、あなたのデフ送る(自己)にこのラベルのテキストを設定します。を(あなたのGUIを想定し

from GUI import Ui_MainWindow 
import sys 
from PyQt4 import QtCore, QtGui 


try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    def _fromUtf8(s): 
     return s 


class MAIN(Ui_MainWindow): 
    def send(self): 
     print ui.lineEdit.text() 
     ui.label.setText(ui.lineEdit.text()) 
     app.processEvents() 


app = QtGui.QApplication(sys.argv) 
Dialog = QtGui.QMainWindow() 
ui = MAIN() 
ui.setupUi(Dialog) 
print dir(Dialog) 

QtCore.QObject.connect(ui.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), ui.send) 

QtCore.QMetaObject.connectSlotsByName(Dialog) 

Dialog.show() 
sys.exit(app.exec_()) 
関連する問題