Gå til innhold

Anbefalte innlegg

Trenger litt hjelp med å hente ut verdier fra en dateEdit og timeedit. Egentlig venter jeg på en bok om PyQt4, men har gjort ferdig en Gui og vil gjerene komme litt videre.

 

Også lurte jeg på hvordan jeg kan sette verdien på dateEdit til dagens dato, og sette timeEdit til en for valgt dato.

Lenke til kommentar
Videoannonse
Annonse

For å sette verdiene på QDateEdit og QTimeEdit kan du bruke disse metodene:

.setDate(date) #date kan være en QtCore.QDate eller en datetime.date
.setDateTime(dateTime)  #dateTime kan være en QtCore.QDateTime eller en datetime.datetime
.setTime(time) #dateTime kan være en QtCore.QTime eller en datetime.time

For å hente ut verdiene kan du bruke disse:

.date() #returnerer en QtCore.QDate, kan gjøres om til en vanlig datetime.date med .toPyDate()
.dateTime() #returnerer en QtCore.QDateTime, kan gjøres om til en vanlig datetime.datetime med .toPyDateTime()
.time() #returnerer en QtCore.QTime, kan gjøres om til en vanlig datetime.time med .toPyTime()

 

Eksempel:

>>>dateedit = QtGui.QDateEdit()
>>>dateedit.setDate(datetime.datetime.now())
>>>dateedit.setDate(QtCore.QDate.currentDate())
>>>dateedit.setDate(QtCore.QDate(2008, 10, 15))
>>>dateedit.date()
PyQt4.QtCore.QDate(2008, 10, 15)
>>>dateedit.date().toPyDate()
datetime.date(2008, 10, 15)

Håper det hjelper. :)

Lenke til kommentar

Trenger litt mer hjelp jeg.

 

Dette handler ikke så mye om PyQt4 men om Pysqlite2.

 

Her er koden

try:
		con = sqlite.connect("date_database")
		cur = con.cursor()

		cur.execute('''create table dato
		(dag text, dato text PRIMARY KEY, tid_fra text, tid_til text)''')
	except:
		con.close()

dag =self.week_days_combo.currentText()
	dato = self.todays_date.date().toPyDate().strftime("%d.%m.%y")
	time_fra =self.time_from.time().toPyTime().strftime("%H.%M")
	time_til = self.time_to.time().toPyTime().strftime("%H.%M")
	cur.execute('INSERT INTO dato VALUES (?, ?, ?, ?)',(dag, dato, time_fra, time_til))
	con.commit()

Dette gir meg hele tiden feilen:

Unhandeled interface error :(

Problemet er at jeg ikke skjønner hvorfor problemet oppstår, utifra det jeg skjønner er alle feltene i databasen tekst og det samme skulle også dato osv være

Endret av Spec-ops-j
Lenke til kommentar

Ok, fant problemet, men aner ikke hvordan jeg skal fikse det.

 

Problemet er at dag f.eks innholder 7 verdier, og pysqlite tror alle skal være med, men print gir bare den valgte datoen:

print dag

>Mandag

mens med bare den som variabel med pysqlite sier programet at bare 1 variabel er definert men 6 stykker blir gitt til programet(hvis jeg har oversatt riktig og sånn at dere forstår)

 

Forslag?

 

Edit: Det samme skjer med de 3 andre variablene.

Endret av Spec-ops-j
Lenke til kommentar

Ok fant da ut hvordan jeg fikser forgje spørsmål, men selvsagt kom det opp enda et... Burde vel vente til jeg får PyQt4 boka, men det er så morsomt :p

 

Derfor lurte jeg på hvordan jeg kan få mange forskjellige verdier fra en tabell over inn i en QTableWidget

 

con = sqlite.connect("date_database")
	cur = con.cursor()
	cur.execute('SELECT * FROM dato ')
	for row in cur:
			dag = row[0]
			dato = row[1]
			time_fra = row[2]
			time_til = row[3]
			timer = row[4]
			print "Dag: %s | Dato: %s | Start tid: %s | Slutt tid: %s | Antall timer: %s"%(dag, dato, time_fra, time_til, timer)

Print gir jo veldig fin utskrift, men som dere ser under har jeg laget en TabelWidget som består av 5 koloner som jeg gjerene skulle de forskjellige verdiene i. f.eks Dato i collum 0 osv.

self.TableWidget = QtGui.QTableWidget(self.page_2)
	self.TableWidget.setGeometry(QtCore.QRect(0, 10, 521, 191))
	self.TableWidget.setObjectName("resultat")
	self.TableWidget.setColumnCount(5)
	self.TableWidget.setRowCount(0)
	item = QtGui.QTableWidgetItem()
	self.TableWidget.setHorizontalHeaderItem(0, item)
	item = QtGui.QTableWidgetItem()
	self.TableWidget.setHorizontalHeaderItem(1, item)
	item = QtGui.QTableWidgetItem()
	self.TableWidget.setHorizontalHeaderItem(2, item)
	item = QtGui.QTableWidgetItem()
	self.TableWidget.setHorizontalHeaderItem(3, item)
	item = QtGui.QTableWidgetItem()
	self.TableWidget.setHorizontalHeaderItem(4, item)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...