Sida 2 av 2

Re: QT -nybörjare.

Postat: 22 april 2011, 16:10:22
av jesse
Snart lägger jag ner det här.... :evil:

Lyckades äntligen komma åt qextserialport-biblioteket, men så enkelt var det inte.. Det blev en massa fel. Orkar inte krångla mer med detta på ett tag. :wall:

Denna programvara verkar vara beroende av ytterligare bibliotek som jag inte ens ver var de kommer ifrån: <termios.h>, <sys/ioctl.h> och <sys/select.h> ??? och som tydligen förutsätts finnas där.

Re: QT -nybörjare.

Postat: 22 april 2011, 22:37:26
av jesse
Jag förstår om ingen orkar svara på allt tjafs jag skriver i denna tråden, men här kommer en fråga..

(jag har nu fått igång serieporten och har byggt ett terminalprogram)

Jag vill ha lite debug-information utskrivet i konsolen, dvs vanlig utskrift med cout <<, men den känner inte igen cout, och än värre: det finns inget <iostream.h> !
#include <iostream.h>


build error: iostream.h : no such file or directory!

What the heck! Finns inte vanliga C++ bibliotek tillgängliga i QT Creator? Hur ska jag göra nu ??? :humm:

Re: QT -nybörjare.

Postat: 22 april 2011, 22:47:32
av jesse
Gaaahhh.. så mycket jobb... Det visar sig att mina böcker om C++ och tutorials är gamla... numera heter det #include <iostream> (utan .h)...

hur skulle jag ha vetat det? Det kan ju vara mycket mer än det som har ändrats ... Sedan vilken verion av ... ja, av vad??? ... är det C++ biblioteken som ändrats, kompilatorn eller QT Creator? För på mina andra utvecklingsmiljöer heter det fortfarande <iostream.h> minsann!

Re: QT -nybörjare.

Postat: 23 april 2011, 22:02:44
av jesse
Har legat ute på gräsmattan hava dagen idag och studerat C++: klasser, definitioner och deklarationer, klassvariabler och metoder... det fanns en del frågetecken som behövde rätas ut. Så nu kanske det kommer att gå lite lättare att programmera i Qt.

Glad Påsk!

Re: QT -nybörjare.

Postat: 24 april 2011, 00:51:30
av lgrfbs
jesse tack för denna tråden läser den med intresse då jag började med att rita upp ett GUI för att göra en miniräknare till Nokia E75 som påminnande om den i Nokia 3310, men det rann ut i sanden.

Re: QT -nybörjare.

Postat: 24 april 2011, 01:54:07
av jesse
Ja, Qt verkar vara jättekul när man får det att snurra. Jag är helnöjd just nu även om jag fattar att jag har mycket kvar att plugga och lära innan jag får ut det jag vill.

Mitt Serieports-GUI för tillfället:
Urklipp02.jpg
(tiden till klockan , liksom spänningar skickas av en AVR via serieporten och uppdateras en gång per sekund. Samtidigt kan man skriva "kommandon" till AVR i terminalen och få svar i textformat.)

Re: QT -nybörjare.

Postat: 24 april 2011, 15:36:18
av jesper
Det låter som du fått något dårligt exempel på hur man användar QSerialport. Jag har använt den en del, med QConnection som mellansteg så att jag kunde köra både RS-232 och TCP/IP med samma interface. Ska se om jag hittat originalkoden. Det var jätteenkelt att få igång och använda.

Det Qwt review du henvisar till, verkar helt befängt. Kan knappast vara en programmerare som gjort undersökningen.
För det första är Doxygen dokumentation något av det bästa som finns, speciellt för att dokumentera just sånt som t.ex. Qwt. Att det skulle vara svårt att läsa/använda Doxygen dokumentation, är som att påstå det är svårt att browsa på internet.
Dessutom är det alldeles skitsnack, dokumentationen för Qwt är helt integrerat i QTCreator, precis som standarddokumentationen. Det finns också ett hundratals kodexempel inkluderat så att man snabbt kan lära sig hur en klass fungerar.

Re: QT -nybörjare.

Postat: 24 april 2011, 21:47:11
av jesse
Qserialport kände jag inte till. Jag har använt Qextserialport, sedan är det någon som gjort ett förenklat skal till denna som heter Serialport. Jag kommer så småningom att göra om det, eftersom bufferten inte går att få längre än 255 bytes ( om man försöker så kraschar programmet), och ibland tar jag emot data i upp till 1000 bytes på raken, som jag då helst vill bearbeta i en och samma char-lista. Kriteriet för att en rad är slut är för mig att jag får in CR+LF, inte att det t.ex. dröjer ett visst antal millisekunder mellan tecknen.

låter ju bra om qwt. Får hoppas att jag kommer att kunna använda det.

Men nu när jag kollar in Qwt User's Guide 6.0.0 så verkar det ju ganska OK med bilder och allt. (länken går till klassen QwtSlider som exempel).

Går det att integrera Qwt-widgetsarna (!) i QT Designer så att man kan använda dem grafiskt, eller måste jag skriva dem direkt i kod?

Jag tycker det är svårt med externa bibliotek också, har inte riktigt lärt mig hur de ska installeras för att Qt Creator (eller någon annan IDE för den delen) ska kunna hitta dem? Har inte installerat Qwt än.

Re: QT -nybörjare.

Postat: 25 april 2011, 01:30:43
av jesse
Qwt fanns i Linux som rpm (libqwt5) och då fanns Qwt-widgetarna som grafiska objekt i Qt-Designer. Det var bara att dra och släppa. Men det gick inte att kompilera. Den hittade qwt_plot.h men tydligen inte själva qwt_plot.c:

Kod: Markera allt

ui_mainwindow.h:105: undefined reference to `QwtPlot::QwtPlot(QWidget*)'
Så nånting saknas... :?:

Och i Windows har jag inte försökt installera Qwt än.

Re: QT -nybörjare.

Postat: 25 april 2011, 16:08:14
av jesper
Du måste inkludera de qwt delar du vill använda. Sä här ser det t.ex. ut i min mainwindow header:

Kod: Markera allt

#include <QMainWindow>

/* QWT stuff */
#include <qwt_plot_curve.h>
#include <qwt_plot_grid.h>
#include <qwt_legend.h>
#include <qwt_plot.h>
#include <qwt_scale_draw.h>
#include <qwt_compass.h>
#include <qwt_compass_rose.h>
#include <qwt_dial_needle.h>
Jag hade lite fel om QSerialPort, det är inte en egen klass, utan QSerialPort var namnet på .pri filen och foldern med QExtSerialPort, QManageSerialPort e.t.c. filerna. Posix och Win varianter, så det är nog samma du har.

Re: QT -nybörjare.

Postat: 26 april 2011, 22:05:04
av jesse
Den .h-fil som automatiskt genereras av Qt Designer börjar så här:

Kod: Markera allt

#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QSlider>
#include <QtGui/QStatusBar>
#include <QtGui/QToolBar>
#include <QtGui/QWidget>
#include "qwt_plot.h"

QT_BEGIN_NAMESPACE

class Ui_MainWindow
... osv...
Det finns alltså en #include "qwt_plot.h" där, eftersom jag lagt till det objektet grafiskt. Själv lade jag till ett par till i MainWindow.h:

Kod: Markera allt

#include <qwt_plot.h>
#include <qwt_plot_curve.h>
Men det hjälper inte:
mainwindow.o: In function `Ui_MainWindow::setupUi(QMainWindow*)':
/home/jens/avancerat/Qt/QwtTest-build-desktop/./ui_mainwindow.h:105: undefined reference to `QwtPlot::QwtPlot(QWidget*)'
collect2: ld returnerade avslutningsstatus 1

Re: QT -nybörjare.

Postat: 29 april 2011, 16:34:48
av idiotdea
Är problemet vid länkningen? I så fall måste du antagligen definiera någonstans att länkaren skall inkludera Qwt-biblioteket...