• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Qt - Wczytywanie konkretnego znaku z wyswietlacza

Object Storage Arubacloud
0 głosów
615 wizyt
pytanie zadane 14 sierpnia 2018 w C i C++ przez VegaOrionis Początkujący (350 p.)

Witam chciałbym pobrać konkretny znak z wyświetlacza. Załóżmy ze na wyświetlaczu wyświetla się jeden znak chce go pobrać i przypisać do konkretnego miejsca w moim QString'u. Ale nie wiem jak to zrobić.

// Wyświetlacz :  X

QString tekst= "ABC"

//tutaj pobrałem cały text a ja chce tylko jeden znak 
QString[1] = ui->Screen->text();  //    (wiem  że źle napisałem ale chciałem przedstawic o co mi chodzi)

//  tekst= AXC  - taki chce wynik koncowy


 

2 odpowiedzi

+1 głos
odpowiedź 15 sierpnia 2018 przez Bondrusiek Maniak (61,410 p.)
wybrane 17 sierpnia 2018 przez VegaOrionis
 
Najlepsza

Witam,

możesz użyć takiej konstrukcji:

// Wyświetlacz :  X
 
QString tekst= "ABC"
 
//tutaj pobrałem cały text a ja chce tylko jeden znak 

QChar character =  ui->Screen->text().at(0);

tekst.replace(1,1,character);

 

 

 

komentarz 17 sierpnia 2018 przez VegaOrionis Początkujący (350 p.)
Super! dzięki!
0 głosów
odpowiedź 14 sierpnia 2018 przez Pabiak Gaduła (4,450 p.)
#include <QCoreApplication>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString tekst = "ABC";
    QString zmien ="XYZ";
    zmien.remove(1,2); //remove(x,y) x- od jakiego znaku zacząc, y - ile znaków usunąć
    tekst.replace(1,1,zmien);
    qDebug()<<tekst;


    return a.exec();
}

Oczywiście zmienną "zmien" możesz pobrać z jakiegoś editboxa, a potem go odpowiednio przyciąć używając funkcji remove(). Qt ma bardzo dobrą dokumentację, znajdziesz tam sporo przydatnych funkcji nie tylko do operacji na tekscie.

http://doc.qt.io/qt-5/qstring.html#replace

http://doc.qt.io/qt-5/qstring.html#insert

http://doc.qt.io/qt-5/qstring.html#remove

Do usuwania ostatniego znaku możesz użyć funkcji chop().

tekst.chop(); //W nawiasie liczba znaków do usunięcia

 

 

komentarz 14 sierpnia 2018 przez VegaOrionis Początkujący (350 p.)
Chodziło mi czy istnieje jakaś gotowa funkcja która POBIERA bezpośrednio konkretny znak z wyświetlacza -,-

no bo inaczej to sam mogę stworzyć drugiego Qstring'a do niego pobrać cały ciąg z wyświetlacza a potem wybrać konkretny znak i przypisać do drugiego.
QString x1="abcd";
QString x2="aaa"    // po pobraniu z wyświetlacza ma taką wartość

x2[1] = x1[1];
komentarz 14 sierpnia 2018 przez Pabiak Gaduła (4,450 p.)

Z twojego pytania nie wynika, że chciałeś gotową funkcje. Przejrzyj dokumentacje to może coś znajdziesz, a jeżeli nie chcesz to zawsze możesz napisać własna funkcje. Sposób jej działania opisałeś w swoim komentarzu.wink

komentarz 15 sierpnia 2018 przez VegaOrionis Początkujący (350 p.)
Jasno napisałem że chce pobrać konkretny znak z wyświetlacza a  nie pobierać całego ciągu który się wyświetla i chce bezpośrednio go przypisać do mojego QString'a bez tworzenia dodatkowego QString'a . Chciałem wiedzieć czy istnieje jakiś sposób bo jak istnieje pobieranie całego ciągu to chciałem wiedzieć czy idzie wybrany 1 znak pobrać.

Podobne pytania

0 głosów
1 odpowiedź 181 wizyt
0 głosów
0 odpowiedzi 132 wizyt
0 głosów
1 odpowiedź 208 wizyt
pytanie zadane 15 kwietnia 2019 w C i C++ przez niezalogowany

92,656 zapytań

141,547 odpowiedzi

319,986 komentarzy

62,024 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...