Qt - wykorzystanie argumentów funkcji main do otwierania pliku
Stronę tą wyświetlono już: 1932 razy
Każdy z nas na co dzień korzysta z różnych programów i otwiera różne pliki klikając dwukrotnie na ikonkę, ale jak to jest zrobione i jak to zrobić, aby takie coś działało w utworzonym własnoręcznie programie? Odpowiedź jest dość prosta, albowiem w pliku main.cpp znajduje się funkcja, która jest wywoływana przez system i ta funkcja przyjmuje dwa argumenty:
- int argc - określa liczbę elementów tablicy ciągu znaków podanej jako kolejny argument;
- char* argv[] - zawiera parametry, z jakimi program został uruchomiony (w formie tablicy ciągów znaków)
Bazując na projekcie rozpoczętym na stronie Programowanie → Qt Creator GUI → Qt - kontrolka QTextEdit można lekko modyfikując kod funkcji main wyświetlić te parametry:
W konsoli Qt Creator-a zostanie wyświetlone coś w stylu: "C:\...\build-myFirstGUI-Desktop_Qt_5_6_3_MinGW_32bit-Debug\debug\myFirstGUI.exe, czyli pierwszym i jedynym domyślnie elementem tablicy argv jest ścieżka do uruchomionego programu, następne elementy to parametry uruchomieniowe programu. Ja zakładam, że parametrami tymi będzie ścieżka do otwieranego pliku tekstowego.
W związku z powyższym konieczne jest zmodyfikowanie konstruktora klasy MainWindow tak, aby ten przyjmował jako argumenty wyżej wymienione parametry funkcji main:
Metodę openFile należy utworzyć:
i jednocześnie zmienić kod sygnału on_actionOpen_triggered:
Po wprowadzeniu powyższych zmian wystarczy w systemie wskazać jako program uruchomieniowy swój wypasiony edytor tekstu aby program otwierany plik został wyświetlony w twoim programie.
Tytuł:
C++ Zbiór zadań z rozwiązaniami
Autor:
Tomasz Jaśniewski
Tytuł:
Mikrokontrolery dla hobbystów. Projekty DIY w języku C i C++
Autor:
Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla
Tytuł:
Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów
Autor:
Adrian Ostrowski, Piotr Gaczkowski
Tytuł:
Wprowadzenie do C++
Autor:
Michał Matlak
Tytuł:
Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)
Autor:
Jerzy Grębosz
Tytuł:
Programowanie wieloplatformowe z C++ i wxWidgets 3
Autor:
Bartosz W. Warzocha
Tytuł:
Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
Autor:
Anthony Williams
Tytuł:
C++ dla bystrzaków. Wydanie VII
Autor:
Stephen R. Davis
Tytuł:
Tablice informatyczne. Podstawy C++
Autor:
Radosław Sokół
Tytuł:
Opus magnum C++11. Programowanie w języku C++ (komplet)
Autor:
Jerzy Grębosz