2017-02-17 6 views
0

hello world Я пытаюсь получить QLineEdit для работы в качестве пользователя. Введите witch, они должны ввести имя песни. после ввода названия песни я хочу, чтобы эта песня начала воспроизводиться после нажатия кнопки воспроизведения, все работает отлично, а затем часть, в которой они могут вводить любую песню, которую они хотят в этой папке. проблема в том, что я не уверен, как сделать слово QlineEdit и обновлять каждый раз, когда кто-то вводится в текстовое поле, вот мой код, надеюсь, кто-то может мне помочь. Спасибо заранее!Python как получить текст QLineEdit?

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_()) 

ответ

1

Вы можете легко получить текст с помощью метода QLineEdit.text(). Или же образом установить текст с QLineEdit.setText() методом

Если вы хотите подключить его к QTextEdit Вы можете соединить его с .textChanged сигналом, который emited от каждого текста изменений QTextEdit.

Точно так же, как вы используете .clicked сигнал вы можете использовать это как:

QtextEdit.textChanged.connect(your_method_to_put_text_somewhere_else)