habe mir mit dem Qt-Designer ein Fenster erstellt:

Hier der windowUi.py Code:
Code: Alles auswählen
from PyQt4 import QtCore, QtGui
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 Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.setEnabled(True)
MainWindow.resize(507, 430)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy)
MainWindow.setMaximumSize(QtCore.QSize(507, 430))
MainWindow.setStyleSheet(_fromUtf8("font: 9pt \"MS Shell Dlg 2\";"))
#Test Button
self.btntest = QtGui.QPushButton(MainWindow)
self.btntest.setGeometry(QtCore.QRect(410, 20, 75, 23))
self.btntest.setMouseTracking(True)
self.btntest.setDefault(True)
self.btntest.setObjectName(_fromUtf8("TEST"))
#Erstellen von "Albumtitel" - Feldbeschriftung
self.Albumtitellabel = QtGui.QLabel(MainWindow)
self.Albumtitellabel.setGeometry(QtCore.QRect(20, 20, 111, 16))
self.Albumtitellabel.setStyleSheet(_fromUtf8("font: 9pt \"MS Shell Dlg 2\";"))
self.Albumtitellabel.setObjectName(_fromUtf8("Albumtitellabel"))
#Erstellen von "Erscheinungsjahr" - Feldbeschriftung
self.Erscheinungsjahrlabel = QtGui.QLabel(MainWindow)
self.Erscheinungsjahrlabel.setGeometry(QtCore.QRect(20, 50, 111, 16))
self.Erscheinungsjahrlabel.setObjectName(_fromUtf8("Erscheinungsjahrlabel"))
#Erstellen von "Traeger" - Feldbeschriftung
self.Traegerlabel = QtGui.QLabel(MainWindow)
self.Traegerlabel.setGeometry(QtCore.QRect(20, 110, 111, 16))
self.Traegerlabel.setStyleSheet(_fromUtf8("font: 9pt \"MS Shell Dlg 2\";"))
self.Traegerlabel.setObjectName(_fromUtf8("Traegerlabel"))
#Erstellen des Button "pdf-lyrics"
self.btnpdflyrics = QtGui.QToolButton(MainWindow)
self.btnpdflyrics.setGeometry(QtCore.QRect(360, 280, 71, 19))
self.btnpdflyrics.setMouseTracking(True)
self.btnpdflyrics.setAcceptDrops(True)
self.btnpdflyrics.setObjectName(_fromUtf8("btnpdflyrics"))
#Erstellen des Button "pdf-booklet"
self.btnpdfbooklet = QtGui.QToolButton(MainWindow)
self.btnpdfbooklet.setGeometry(QtCore.QRect(360, 310, 71, 19))
self.btnpdfbooklet.setMouseTracking(True)
self.btnpdfbooklet.setAcceptDrops(True)
self.btnpdfbooklet.setObjectName(_fromUtf8("btnpdfbooklet"))
#Erstellen des Feld für "pdf-lyrics" (listWidget_4 )
self.listWidget_4 = QtGui.QListWidget(MainWindow)
self.listWidget_4.setGeometry(QtCore.QRect(80, 280, 256, 21))
self.listWidget_4.setMouseTracking(False)
self.listWidget_4.setObjectName(_fromUtf8("listWidget_4"))
#Erstellen des Feld für "pdf-booklet" (listWidget_5)
self.listWidget_5 = QtGui.QListWidget(MainWindow)
self.listWidget_5.setGeometry(QtCore.QRect(80, 310, 256, 21))
self.listWidget_5.setMouseTracking(False)
self.listWidget_5.setObjectName(_fromUtf8("listWidget_5"))
#Erstellen des Button "save txt"
self.btnsavetxt = QtGui.QCommandLinkButton(MainWindow)
self.btnsavetxt.setGeometry(QtCore.QRect(20, 380, 101, 41))
self.btnsavetxt.setMouseTracking(True)
self.btnsavetxt.setToolTip(_fromUtf8(""))
self.btnsavetxt.setWhatsThis(_fromUtf8(""))
self.btnsavetxt.setAutoFillBackground(True)
self.btnsavetxt.setObjectName(_fromUtf8("btnsavetxt"))
#Erstellen des Button "Clear All"
self.btnclearall = QtGui.QPushButton(MainWindow)
self.btnclearall.setGeometry(QtCore.QRect(320, 210, 75, 23))
self.btnclearall.setMouseTracking(True)
self.btnclearall.setDefault(True)
self.btnclearall.setObjectName(_fromUtf8("btnClearAll"))
#Erstellen des Fortschrittbalken (Prozentangabe)
self.progressBar = QtGui.QProgressBar(MainWindow)
self.progressBar.setGeometry(QtCore.QRect(130, 390, 365, 20))
self.progressBar.setStyleSheet(_fromUtf8(""))
self.progressBar.setProperty("value", 1)
self.progressBar.setObjectName(_fromUtf8("progressBar"))
#Erstellen der "Trennlinie oben"
self.line = QtGui.QFrame(MainWindow)
self.line.setGeometry(QtCore.QRect(0, 240, 511, 16))
self.line.setMouseTracking(False)
self.line.setFrameShape(QtGui.QFrame.HLine)
self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName(_fromUtf8("line"))
#Erstellen der "Trennlinie unten"
self.line =QtGui.QFrame(MainWindow)
self.line.setGeometry(QtCore.QRect(0, 360, 511, 16))
self.line.setMouseTracking(False)
self.line.setFrameShape(QtGui.QFrame.HLine)
self.line.setFrameShadow(QtGui.QFrame.Sunken)
self.line.setObjectName(_fromUtf8("line"))
#Erstellen des Drop-Down-Menü mit den waehlbaren Möglichkeiten - für Format
self.comboBoxFormat = QtGui.QComboBox(MainWindow)
self.comboBoxFormat.setGeometry(QtCore.QRect(200, 80, 105, 22))
self.comboBoxFormat.setEditable(False)
self.comboBoxFormat.setMaxVisibleItems(6)
self.comboBoxFormat.setMaxCount(6)
self.comboBoxFormat.setMinimumContentsLength(1)
self.comboBoxFormat.setObjectName(_fromUtf8("comboBox"))
self.comboBoxFormat.addItem("wmv")
self.comboBoxFormat.addItem("mp3")
self.comboBoxFormat.addItem("mp4")
self.comboBoxFormat.addItem("divx")
self.comboBoxFormat.addItem("quicktime")
#Erstellen des Eingabefelds für "Erscheinungsjahr"
self.txtErscheinungsjahr = QtGui.QLineEdit(MainWindow)
self.txtErscheinungsjahr.setGeometry(QtCore.QRect(200, 50, 65, 20))
self.txtErscheinungsjahr.setInputMethodHints(QtCore.Qt.ImhDigitsOnly|QtCore.Qt.ImhFormattedNumbersOnly|QtCore.Qt.ImhNoPredictiveText|QtCore.Qt.ImhPreferNumbers)
self.txtErscheinungsjahr.setText(_fromUtf8(""))
self.txtErscheinungsjahr.setMaxLength(10)
self.txtErscheinungsjahr.setObjectName(_fromUtf8("txtErscheinungsjahr"))
#Erstellen des Eingabefelds für "Albumtitel"
self.txtAlbumtitel = QtGui.QLineEdit(MainWindow)
self.txtAlbumtitel.setGeometry(QtCore.QRect(200, 20, 111, 20))
self.txtAlbumtitel.setInputMethodHints(QtCore.Qt.ImhDigitsOnly|QtCore.Qt.ImhFormattedNumbersOnly|QtCore.Qt.ImhNoPredictiveText|QtCore.Qt.ImhPreferNumbers)
self.txtAlbumtitel.setText(_fromUtf8(""))
self.txtAlbumtitel.setMaxLength(11)
self.txtAlbumtitel.setReadOnly(False)
self.txtAlbumtitel.setObjectName(_fromUtf8("txtAlbumtitel"))
#Backup Eingabefeld für "Format"
self.Formatlabel = QtGui.QLabel(MainWindow)
self.Formatlabel.setGeometry(QtCore.QRect(20, 80, 41, 16))
self.Formatlabel.setObjectName(_fromUtf8("Formatlabel"))
#Erstellen des Eingabefelds für "Datum"
self.txtDatum = QtGui.QLineEdit(MainWindow)
self.txtDatum.setGeometry(QtCore.QRect(200, 140, 65, 20))
self.txtDatum.setText(_fromUtf8(""))
self.txtDatum.setMaxLength(20)
self.txtDatum.setObjectName(_fromUtf8("txtDatum"))
self.txtDatum.setMaxLength(10)
#Erstellen von "Datum" - Feldbeschriftung
self.Datumlabel = QtGui.QLabel(MainWindow)
self.Datumlabel.setGeometry(QtCore.QRect(20, 140, 170, 20))
self.Datumlabel.setStyleSheet(_fromUtf8("font: 9pt \"MS Shell Dlg 2\";"))
self.Datumlabel.setObjectName(_fromUtf8("Datumlabel"))
#Erstellen des Eingabefelds für "Genre"
self.txtGenre = QtGui.QLineEdit(MainWindow)
self.txtGenre.setGeometry(QtCore.QRect(200, 170, 100, 20))
self.txtGenre.setText(_fromUtf8(""))
self.txtGenre.setMaxLength(10)
self.txtGenre.setObjectName(_fromUtf8("txtGenre"))
#Erstellen von "Genre" - Feldbeschriftung
self.Genrelabel = QtGui.QLabel(MainWindow)
self.Genrelabel.setGeometry(QtCore.QRect(20, 170, 101, 16))
self.Genrelabel.setStyleSheet(_fromUtf8("font: 9pt \"MS Shell Dlg 2\";"))
self.Genrelabel.setObjectName(_fromUtf8("Genrelabel"))
#Erstellen von "Sprachcodelabel" - Feldbeschriftung
self.Sprachcodelabel = QtGui.QLabel(MainWindow)
self.Sprachcodelabel.setGeometry(QtCore.QRect(20, 200, 71, 16))
self.Sprachcodelabel.setStyleSheet(_fromUtf8("font: 9pt \"MS Shell Dlg 2\";"))
self.Sprachcodelabel.setObjectName(_fromUtf8("Sprachcodelabel"))
#Erstellen des Butten "Clear All"
self.btnClearAll = QtGui.QPushButton(MainWindow)
self.btnClearAll.setGeometry(QtCore.QRect(410, 210, 75, 23))
self.btnClearAll.setMouseTracking(True)
self.btnClearAll.setDefault(True)
self.btnClearAll.setObjectName(_fromUtf8("btnClearAll"))
#Erstellen des Drop-Down-Menue für "Sprachcode" mit waehlbaren Sprachen
self.comboBoxSprache = QtGui.QComboBox(MainWindow)
self.comboBoxSprache.setGeometry(QtCore.QRect(200, 200, 90, 22))
self.comboBoxSprache.setEditable(False)
self.comboBoxSprache.setMaxVisibleItems(5)
self.comboBoxSprache.setMaxCount(5)
self.comboBoxSprache.setMinimumContentsLength(1)
self.comboBoxSprache.setObjectName(_fromUtf8("comboBox"))
self.comboBoxSprache.addItem("D - deutsch")
self.comboBoxSprache.addItem("E - englisch")
self.comboBoxSprache.addItem("F - französisch")
self.comboBoxSprache.addItem("P - polnisch")
self.comboBoxSprache.addItem("T - türkisch")
#Erstellen des Drop-Down-Menue für "Informationstraeger" mit waehlbaren Arten
self.comboBoxInformationstraeger = QtGui.QComboBox(MainWindow)
self.comboBoxInformationstraeger.setGeometry(QtCore.QRect(200, 110, 256, 22))
self.comboBoxInformationstraeger.setObjectName(_fromUtf8("comboBox_2"))
self.comboBoxInformationstraeger.setEditable(False)
self.comboBoxInformationstraeger.addItem("Platte")
self.comboBoxInformationstraeger.addItem("Kasette")
self.comboBoxInformationstraeger.addItem("CD")
self.comboBoxInformationstraeger.addItem("DVD")
self.comboBoxInformationstraeger.addItem("Blue-Ray")
self.comboBoxInformationstraeger.addItem("Festplatte")
#Aktion - Eintraege aus den Eingabefeldern "Albumtitel","Erscheinungsjahr",
#"Datum" und "Albumtitel" durch drücken des Button "Clear All"
#entfernen bzw. loeschen
self.retranslateUi(MainWindow)
QtCore.QObject.connect(self.btnClearAll, QtCore.SIGNAL(_fromUtf8("clicked()")), self.txtAlbumtitel.clear)
QtCore.QObject.connect(self.btnClearAll, QtCore.SIGNAL(_fromUtf8("clicked()")), self.txtErscheinungsjahr.clear)
QtCore.QObject.connect(self.btnClearAll, QtCore.SIGNAL(_fromUtf8("clicked()")), self.txtDatum.clear)
QtCore.QObject.connect(self.btnClearAll, QtCore.SIGNAL(_fromUtf8("clicked()")), self.txtGenre.clear)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
#Eintraege der jeweiligen Beschriftungslabel der Feldbeschriftungen
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "Archiver", None))
self.Albumtitellabel.setText(_translate("MainWindow", "Albumtitel:", None))
self.Erscheinungsjahrlabel.setText(_translate("MainWindow", "Erscheinungsjahr:", None))
self.Traegerlabel.setText(_translate("MainWindow", "Träger:", None))
self.btnpdflyrics.setText(_translate("MainWindow", "pdf - Lyrics", None))
self.btnpdfbooklet.setText(_translate("MainWindow", "pdf - Booklet", None))
self.btnsavetxt.setText(_translate("MainWindow", "save txt", None))
self.Formatlabel.setText(_translate("MainWindow", "Format:", None))
self.Datumlabel.setText(_translate("MainWindow", "Datum - ddmmyyyy:", None))
self.Genrelabel.setText(_translate("MainWindow", "Genre:", None))
self.Sprachcodelabel.setText(_translate("MainWindow", "Sprache:", None))
self.btnClearAll.setText(_translate("MainWindow", "Clear All", None))
self.btntest.setText(_translate("MainWindow","TEST", None))
Code: Alles auswählen
import os,sys
import time
import glob
from tkinter import *
from PyQt4.QtGui import QDialog, QApplication, QPushButton, QLineEdit, QFormLayout
root=Tk()
#Einbinden der Bibliotheken
from PyQt4 import QtCore,QtGui
#Einbinden des GUI Code (windowUI.py)
from windowUi import Ui_MainWindow
class Main(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.ui=Ui_MainWindow()
self.ui.setupUi(self)
self.ui.btntest.clicked.connect(self.btntest_clicked)
self.ui.btnpdfbooklet.clicked.connect(self.openFile)
#Funktion für Button "Test"
def btntest_clicked(self):
self.ui.txtAlbumtitel.setText("Best Of")
self.ui.txtErscheinungsjahr.setText("11.11.2014")
self.ui.txtDatum.setText("19.02.2014")
self.ui.txtGenre.setText("Rock")
#Funktion für Button "Datum"
def btndatum_clicked(self):
self.ui.txtDatum.setText("13.02.2014")
#Funktion für Button "PDF-Booklet"
def btnpdfbooklet_clicked(self):
self.ui.btnpdfbooklet.clicked.connect(self.openFile)
#Verzeichnis zum laden öffnen - geht noch nicht -.-
def openFile(btntest_clicked):
openFile = QtGui.QAction(QtGui.QIcon('open.png'), 'Open', self)
openFile.setShortcut('Ctrl+O')
openFile.setStatusTip('Open pdf-Doku')
fileMenu = btnpdfbooklet_clicked.openFile('&File')
fileMenu.addAction(openFile)
self.setGeometry()
self.setWindowTitle('File dialog')
self.show()
def showDialog(self):
fname = QtGui.QFileDialog.getOpenFileName(self, 'Open pdf-Booklet', '/home')
f = open(fname, 'r')
def main():
app = QtGui.QApplication(sys.argv)
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
window=Main()
window.show()
gui = ComboBoxBasic()
sys.exit(app.exec_())
ex = Example()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = Main()
window.show()
sys.exit(app.exec_())
Weiter würde ich gerne, die ausgewählten bzw. eingetragenen Werte der Felder durch den save-txt Button in ein txt-File abspeichern lassen.
Wie kann ich die Werte aus den Felder auslesen und zusammen in ein txt-File abspeichern?
:K
Für jede kleine Hilfe wäre ich sehr verbunden und erfreut
