Source Generator vom QT UI file... Fertig...

Alles rund um die Programmierung mit Qt
Antworten
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Source Generator vom QT UI file... Fertig...

Beitrag von patrik08 »

Mit dem UI file ist ein projekt noch lange nicht fertig.... aber ein XSLT file kann wenigstens viel ... arbeit abnehmen.. das Ui ist ja einfach ein XML und mit dem xslt file von http://ciz.ch/svnciz/xls2sql/ui_generator.xsl kann der header und der source sowie die main.cpp bereits fertig sein.....

Auf Mac / Linux:
im terminal:
# xsltproc ui_generator.xsl meinfile.ui > main.cpp
oder grafisch den source => http://ciz.ch/svnciz/dialog_qt/qt4_a/current/ compilieren ...

Auf Window:
im cmd geht es auch , oder fertige programm holen auf...
http://ppk.ciz.ch/win_build/vxsltproc_win32_0.2.tar.bz2
und das ui file als xml setzen und remote das file http://ciz.ch/svnciz/xls2sql/ui_generator.xsl als xsl

naturlich kann jeder seine vorlagen gestalten im file ui_generator.xsl und aendern... ob Qmainwindow oder qdialog entscheidet das ui file...

das resultat ist etwa so je nach ui file...:

Code: Alles auswählen

/* ################################################################## */
#ifndef GUI_QUERY_CHECK_H
#define GUI_QUERY_CHECK_H

#include "ui_gui_query_check.h"

/*  Save file as gui_query_check.h  */
/*  Gui_Query_Check  */


#include <QPointer>

class Gui_Query_Check : public QWidget, public Ui::Gui_Query_Check
{
 Q_OBJECT
	
public:
	static Gui_Query_Check* self( QWidget* = 0 );
	
protected:
	void closeEvent( QCloseEvent* );
	
private:
	Gui_Query_Check( QWidget* = 0 );
    
static QPointer<QWidget>_self;

/* public slots: */
};
#endif GUI_QUERY_CHECK_H

/* On your ui file found: 
class name :   Gui_Query_Check  type :   QWIDGET
class name :   groupBox  type :   QGROUPBOX
class name :   querytext  type :   QLINEEDIT
class name :   querygo  type :   QPUSHBUTTON
class name :   pushButton  type :   QPUSHBUTTON
class name :   queryresult  type :   QTEXTEDIT
*/

/* ################################################################## */

/* ################################################################## */
#include "gui_query_check.h"
/*  Save file as gui_query_check.cpp  */
/*  Gui_Query_Check  */

#include <QPointer>
#include <QCloseEvent>
QPointer<Gui_Query_Check>::_self = 0L;
Gui_Query_Check* Gui_Query_Check::self( QWidget* parent )
{
	if ( !_self )
		_self = new Gui_Query_Check( parent );
	return _self;
}

Gui_Query_Check::Gui_Query_Check( QWidget* parent )
	: QWidget( parent )
{
	setupUi( this );
}

void Gui_Query_Check::closeEvent( QCloseEvent* e )
{
    
e->accept();

}


/* On your ui file found: 
class name :   Gui_Query_Check  type :   QWIDGET
class name :   groupBox  type :   QGROUPBOX
class name :   querytext  type :   QLINEEDIT
class name :   querygo  type :   QPUSHBUTTON
class name :   pushButton  type :   QPUSHBUTTON
class name :   queryresult  type :   QTEXTEDIT
*/

/* ################################################################## */

/* ################################################################## */
/*  Save file as  main.cpp  */

#include <QApplication>
int main(int argc, char *argv[]) {

    QApplication a( argc, argv );
	
    Gui_Query_Check::self()->show();
    a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
    return a.exec();
};


/* ################################################################## */
Nassian
Beiträge: 126
Registriert: 20. Juni 2005 21:14

Beitrag von Nassian »

Sorry, aber ich verstehe den Sinn von diesem Programm nicht.
Die Programmlogik an sich muss ich wohl immer noch selbst schreiben, also wo ist der Unterschied ob ich jetzt UI zusammenklicke + 10 Zeilen Grundgerüst für die Klasse oder dein Tool nutze?
ChMaster
Beiträge: 252
Registriert: 23. Februar 2005 14:44
Wohnort: RP -> Alzey
Kontaktdaten:

Beitrag von ChMaster »

servus,
oder grafisch den source => http://ciz.ch/svnciz/dialog_qt/qt4_a/current/ compilieren ...
du musst auch dazu sagen das es svn ist:
svn co http://ciz.ch/svnciz/dialog_qt/qt4_a/current/ ui_generator
ChMaster
------------ Projekte------------
DBoxFE
DMS
First4 (Plugin-Develper)
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Ja gut....
den folder fooder sagt es ja und die url ...
wer nicht weiss wass subversion ist braucht so ein tool nicht...
Um die routine arbeiten abzunehen ist das sicher gut...
Was Gut und der Sinn... ist eine Personaliesirung von den header source & main Ob man sie von hand schreibt oder generiert ist sicher ein unterscheid!
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Nun lauf es auch auf mac Panther 10.3.9
ein dmg packet ist Iher ... http://ppk.ciz.ch/mac_build/vxsltproc.dmg.bz2

Was die xslt libs alles koennen ist ein wunder die Ui file ist nur ein winziges teil ..... von xml fo ins pdf von excel ins xml und nach db sqlite ... xml zu pdf formulare ecc...

Darum habe ich in dieses programm auch sqlite integriert ... damit man ein xml dump machen kann um wiederum in andere formate zu convertieren....
Dateianhänge
mac Screenshoot panther
mac Screenshoot panther
mac_shoot.png (69.4 KiB) 3327 mal betrachtet
Shadow
Beiträge: 92
Registriert: 27. August 2005 18:15
Wohnort: Iserlohn
Kontaktdaten:

Re: Source Generator vom QT UI file... Fertig...

Beitrag von Shadow »

patrik08 hat geschrieben:Mit dem UI file ist ein projekt noch lange nicht fertig.... aber ein XSLT file kann wenigstens viel ... arbeit abnehmen.. das Ui ist ja einfach ein XML und mit dem xslt file von http://ciz.ch/svnciz/xls2sql/ui_generator.xsl kann der header und der source sowie die main.cpp bereits fertig sein.....
Das ist ja schön, dass du uns immer auf den aktuellen Stand deiner Entwicklungen hältst. Wenn das aber jeder hier mit seinen Projekten machen würde, wäre dieses Forum hoffnungslos zugespamt. :)
Wenn es ein Problem für Dich gibt, mit dem du nicht weiter kommst, kannst du es dem Forum gerne präzise beschreiben und jeder der kann, wird dir dann auch helfen. Aber ich verstehe derzeit echt nicht den Sinn dieses Postings, oder ist dir einfach nur langweilig?
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

:lol: es geht immer noch um qt.... "zugespamt" ist was anderes!...

wenn du auch auf mac && linux entwicklest...
kannst du mir vielleicht ..... helfen .... die xslt libs brauchen auf mac linux einen besonderen config....

ich konnte das entnehmen vom einzige projekt dass xslt benutzt mit qt4....
obwohl diese libs viel mehr leisten koennen ... von alle file type a-z

Code: Alles auswählen

 /* source albumshaper2  on sf.net */
  params[0] = "outputPath";
  QString quotedPath = outputPath;

  //For some reason libxslt has trouble handling filenames with spaces on Unix platforms (OSX,
  //Linux, FreeBSD?). this problem can be averted by converting the filename to a URI. Converting it
  //to a URI on windows using the qt method mangles the drive name though, so only convert to
  //URI on OSX. We need to nail this weirdness at some point and be consistant IMHO but for now
  //this works...
#ifndef Q_OS_WIN
  quotedPath = QUriDrag::localFileToUri( quotedPath );  
#endif
  
  params[1] = quotedPath.prepend('\"').append('\"').ascii();


was bedeutet genau das in klahrtex? mit den url e file path?
Antworten