markierten Text in einem textEdit ändern?

Alles rund um die Programmierung mit Qt
ensacom
Beiträge: 24
Registriert: 4. Januar 2007 23:49

Beitrag von ensacom »

Hm dann verstehe ich nicht wie ich den markierten Text nun ändern kann wenn es doch mit setText und append nicht geht und insert die html-tags nicht verwendet werden
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

ok, mal wieder was ungetestetes, vielleicht so:

Code: Alles auswählen

if( textEdit1->hasSelectedText() )
    {
      textEdit1->setFocus();
      QString sel = "<b>" + textEdit1->selectedText() + "</br>";
      textEdit1->removeSelectedText();
      int par, pos;
      textEdit1->getCursorPosition( &par, &pos );
      textEdit1->setSelection( par, pos,
                                        textEdit1->paragraphs(), textEdit1->length() );
      QString tmp = textEdit1->selectedText();
      textEdit1->removeSelectedText();
      textEdit1->append( sel );
      textEdit1->append( tmp );
    }
guck es vorher nochmal auf tippfehler und vor allem logik durch, ich bin mir nicht sicher bei dem getCursorPosition() und setSelection(), weil ich das noch nie gemacht habe, aber vielleicht geht es ja.

mfg,
julian
ensacom
Beiträge: 24
Registriert: 4. Januar 2007 23:49

Beitrag von ensacom »

Vielen Dank ich teste es dann gleich mal.
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

wahrscheinlihc liegt das daran, dass du qt3 noch installiert hast, und er versucht die qt3-header zu benutzen. nmake ist übrigens der compiler M$-visual-compiler, unter linux eher nicht erhältlich.

btw: das ist deine LINUX-DISTRIBUTION, NICHT dein LINUX ! dein linux ist vielleicht 2.6.15 o.ä.

//edit: oh schon selbst gelöst?
//edit: wenn du jetzt aber qt3 löschst, dann kannst du dein programm neu schreiben in qt4 (kannst den code portieren, da gibt es bei qt4 ein tool qt3to4, aber wenn du imer noch ein Q3TextEdit benutzt, sinnlos)

mfg,
julian
ensacom
Beiträge: 24
Registriert: 4. Januar 2007 23:49

Beitrag von ensacom »

Danke, ich habe QT3 gelöscht und in QT4 versucht nochmal anzufangen.
Jetzt habe ich dazu eine Frage.

Ich habe eine Hauptform, läuft auch super. Nun habe ich eine zweite Form erstellt. "Frm_tables" und gespeichert als "table.ui".

Wie kann ich nun per Button auf Form1 diese andere Form aufrufen und nutzen?
Also auf der table form befindet sich ein edit, der Text in dem Edit soll nach klick auf ok auf Form1 in z.B. einem Textfeld angezeigt werden.

Ich habe auch noch immer nicht herausgefunden wie ich nun die einzelnen "funktion?" von Hand anpassen kann wie ich es unter QT3 gemacht habe
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

hast du es jetzt hinbekommen bzw. bist du dabei, es hinzubekommen?
ich bin wie gesagt auch gerade neu bei Qt4 und habe mir deshalb mal die links von uhu01 aus deinem anderen thread genommen, und dein beispiel hier sogar hinbekommen (fenster1 mit textEdit1 und button1, wird button1 geklickt, öffnet sich fenster2 mit textEdit2 und button2, wird button 2 geklickt, schließt sich fenster 2 und im textEdit1 in fenster 1 steht der text aus textEdit2, also von fenster 2 - verstanden?) wenn du willst kann ichs zippen und anhängen.

mfg,
julian
ensacom
Beiträge: 24
Registriert: 4. Januar 2007 23:49

Beitrag von ensacom »

Hey das wäre super wenn du mir das schicken könntest. ich bin noch nicht viel weiter. kannst du es bitte an ensacom@gmx.de schicken?

Hast du ICQ?

Vielen Dank schon mal.
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

ne nur msn, freekee1@gmx.de
mail kommt gleich...

mfg,
julian
ensacom
Beiträge: 24
Registriert: 4. Januar 2007 23:49

Beitrag von ensacom »

Ja habe dich eben in meinem Messenger gespeichert bist aber nicht online ;-)
Vielen Dank, irgendwann werde ich mich revangieren
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

und wie ich online bin, mit leib und seele!
tippfehler? ich hab keine nachricht von dir.

//edit: mail angekommen ?

mfg,
julian
ensacom
Beiträge: 24
Registriert: 4. Januar 2007 23:49

Beitrag von ensacom »

ja die eMail ist angekommen, allerdings ohne Anhang
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

jetzt besser?

//edit: anhang angekommen oder nicht?

mfg,
julian
ensacom
Beiträge: 24
Registriert: 4. Januar 2007 23:49

Beitrag von ensacom »

Hallo Freaky, ich habe deinen Anhang bekommen.
Sieht wirklich gut aus.

Nur eins verstehe ich nicht. Kann man nicht in test2.cpp sagen wenn Button1 geklickt wird dann schreibe den Text in as Edit von Form1.

Ich habe jetzt zwei Buttons auf Form2 gesetzt und egal welchen ich anklicke, der Text wird jedesmal auf Form1 ins Edit geschrieben. ich will das aber nur wenn ich auf ok klicke und nicht auf abbrechen
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

angenommen,der neue button "Abbrechen" auf Form2 heisst btn3 :
in den konstruktor der von Form2 abgeleiteten klasse:

Code: Alles auswählen

connect( btn3, SIGNAL( clicked() ), this, SLOT( reject() ) );[quote]
im slot on_btn1_clicked() in der von Form1 abgeleiteten klasse musst du noch prüfen, ob accept() oder reject() in klasse2 (Form2) ausgeführt wurde (das bekommst du raus mit klasse2.result(). näheres in der qt4-doku und/oder im qt4-assistant ), und entsprechend den text in edit1 einfügen oder nicht.

mfg,
julian
ensacom
Beiträge: 24
Registriert: 4. Januar 2007 23:49

Beitrag von ensacom »

Sag mal, geht das mit der Übergabe von Daten von Form2 an Form1 nicht auch direkt von Form2?

Ich habe 2 SpinBoxen und ein Edit

SpinBox1.Value = 2
SpinBox2.Value = 3
TextEdit.text = Hallo

Jetzt will ich das eine Schleife durchläuft und mir eine Tabelle (html-Quelltext) erstellt Spinbox1.value = rows (tr) und spinBox2.value = cols (td)

sollte also das raus kommen

<tr>
<td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td>
</tr>

Der Text soll dann an TextEdit1 auf Form1 geschickt werden. wobei vorhandener Text nicht überschrieben werden soll.

Also was mich am dringendsten interessiert ist, wie kann ich Daten von Form2 direkt nach Klick auf Btn2 an Form1 schicken ?
Antworten