2017-02-17 138 views
0

hello world我試圖讓QLineEdit以用戶身份工作輸入巫婆,他們想要輸入歌曲名稱。在輸入歌曲名稱之後,我希望那首歌曲在點擊播放按鈕後開始播放,一切都正常工作,然後是他們可以鍵入他們想要在該文件夾中播放的任何歌曲的部分。問題是我不知道如何使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可以與從的QTextEdit每次文本更改emited .textChanged信號連接。

你如何使用.clicked信號以同樣的方式,你可以用這個爲:

QtextEdit.textChanged.connect(your_method_to_put_text_somewhere_else)