2017-02-17 3 views
0

hallo world ich versuche, ein QLineEdit zu erhalten, um als ein Benutzer zu arbeiten Eingabe, die sie in einen Liednamen eingeben sollen. Nachdem der Songname eingegeben wurde, möchte ich, dass das Lied nach dem Klick auf den Play-Button zu spielen beginnt. Alles funktioniert gut, außer dem Teil, wo sie den Song eingeben können, den sie in diesem Ordner haben wollen. Das Problem ist, ich bin nicht sicher, wie man das QlineEdit-Wort macht und jedes Mal aktualisiert, wenn jemand etwas in das Textfeld eingibt. Hier ist mein Code, hoffentlich kann mir jemand helfen. Vielen Dank im Voraus!Python wie bekomme ich QLineEdit Text?

import sys 
import webbrowser 
import random 
import time 
import os 
import subprocess 
from PyQt4.QtCore import QSize, QTimer, SIGNAL 
from PyQt4.QtGui import QApplication,QScrollBar,QLineEdit , QDialog , QFormLayout ,QGraphicsRectItem , QMainWindow, QPushButton, QWidget, QIcon, QLabel, QPainter, QPixmap, QMessageBox, QAction, QKeySequence, QFont, QFontMetrics, QMovie 
from PyQt4 import QtGui 
import vlc 
#----|Imports End|----# 
class UIWindow(QWidget): 
    def __init__(self, parent=None): 
     super(UIWindow, self).__init__(parent) 

     self.resize(QSize(400, 450)) 

     self.Play = QPushButton('Play', self) 
     self.Play.resize(100,40) 
     self.Play.move(45, 100)# 

     self.Pause = QPushButton('Pause', self) 
     self.Pause.resize(100,40) 
     self.Pause.move(260, 100)# 



     self.Tbox = QLineEdit('Song name',self) 
     self.Tbox.resize(400,25) 
     self.Tbox.move(0,50) 

     self.Play.clicked.connect(self.PlayB) 
     self.Pause.clicked.connect(self.PauseB) 
     self.Flask = vlc.MediaPlayer("C:\Users\Matt\Music\\"+str(self.Tbox.text())+".mp3") 

    def PlayB(self): 
     self.Flask.play() 

    def PauseB(self): 
     self.Flask.stop() 

class MainWindow(QMainWindow,): 
    def __init__(self, parent=None): 
     super(MainWindow, self).__init__(parent) 
     self.setGeometry(745 ,350 , 400, 450) 
     self.setFixedSize(400, 450) 
     self.startUIWindow() 


    def startUIWindow(self): 
     self.Window = UIWindow(self) 
     self.setWindowTitle("HELP ME!") 
     self.setCentralWidget(self.Window) 
     self.show() 



if __name__ == '__main__': 
    app = QApplication(sys.argv) 
    w = MainWindow() 
    sys.exit(app.exec_()) 

Antwort

1

Sie können leicht Text mit QLineEdit.text() Methode erhalten. Oder gleiche Art und Weise Text mit QLineEdit.setText() Verfahren eingestellt

Wenn Sie es QTextEdit anschließen möchten Sie es mit .textChanged Signal anschließen können, die sich von QTextEdit jedes Mal Textänderungen emited wird.

Auf die gleiche Weise, wie Sie .clicked Signal verwenden Sie diese als verwenden können:

QtextEdit.textChanged.connect(your_method_to_put_text_somewhere_else) 
Verwandte Themen