Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Solved Application Interface
Forum Updated to NodeBB v4.3 + New Features

Solved Application Interface

Scheduled Pinned Locked Moved General and Desktop
qt5
12 Posts 4 Posters 3.4k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    JasonB
    wrote on last edited by JasonB
    #3

    This is my code ,I m trying to open a pdf file (ubuntu 12.04) but it is not opening.

    void MainWindow::on_pushButton_clicked()
    {
    // QProcess* process = new QProcess;
    // QString program = "/home/mytsp00042/Desktop/try.txt";
    // process->start(program);

    QDesktopServices::openUrl(QUrl::fromUserInput("file::/home/mytsp00042/Desktop/c-gui-programming-with-qt-4-2ndedition(1).pdf"));;

    }

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mcosta
      wrote on last edited by
      #4

      Hi and welcome to devnet,

      for local files I suggest to use QUrl::fromLocalFile()
      BTW the to use file protocol you should use 3 slashes file:///home/mytsp00042/Desktop/c-gui-programming-with-qt-4-2ndedition(1).pdf

      Once your problem is solved don't forget to:

      • Mark the thread as SOLVED using the Topic Tool menu
      • Vote up the answer(s) that helped you to solve the issue

      You can embed images using (http://imgur.com/) or (http://postimage.org/)

      1 Reply Last reply
      0
      • J Offline
        J Offline
        JasonB
        wrote on last edited by
        #5

        @mcosta Hey, i tried both.. none of them is working.
        void MainWindow::on_pushButton_clicked()
        {
        QProcess* process = new QProcess;
        QString program = "cmd.exe";
        process->execute(program);
        i tried this code on windows and it worked. but same code is not working on Ubuntu 12.04.

        M 1 Reply Last reply
        0
        • J JasonB

          @mcosta Hey, i tried both.. none of them is working.
          void MainWindow::on_pushButton_clicked()
          {
          QProcess* process = new QProcess;
          QString program = "cmd.exe";
          process->execute(program);
          i tried this code on windows and it worked. but same code is not working on Ubuntu 12.04.

          M Offline
          M Offline
          mcosta
          wrote on last edited by
          #6

          @JasonB said:

          @mcosta Hey, i tried both.. none of them is working.
          void MainWindow::on_pushButton_clicked()
          {
          QProcess* process = new QProcess;
          QString program = "cmd.exe";
          process->execute(program);
          i tried this code on windows and it worked. but same code is not working on Ubuntu 12.04.

          "cmd.exe" on Linux? (or I missed something)

          To make QDestokService::openUrl() working you must be sure your system has a default application for PDF files

          Once your problem is solved don't forget to:

          • Mark the thread as SOLVED using the Topic Tool menu
          • Vote up the answer(s) that helped you to solve the issue

          You can embed images using (http://imgur.com/) or (http://postimage.org/)

          J 1 Reply Last reply
          0
          • M mcosta

            @JasonB said:

            @mcosta Hey, i tried both.. none of them is working.
            void MainWindow::on_pushButton_clicked()
            {
            QProcess* process = new QProcess;
            QString program = "cmd.exe";
            process->execute(program);
            i tried this code on windows and it worked. but same code is not working on Ubuntu 12.04.

            "cmd.exe" on Linux? (or I missed something)

            To make QDestokService::openUrl() working you must be sure your system has a default application for PDF files

            J Offline
            J Offline
            JasonB
            wrote on last edited by
            #7

            @mcosta yeah it is having deafault pdf viewer

            QDesktopServices ::openUrl(QUrl::fromLocalFile("file::///home/mytsp00042/Desktop/c-gui-programming-with-qt-4-2ndedition(1).pdf"));

            i tried that code. no success.

            JKSHJ M 2 Replies Last reply
            0
            • J JasonB

              @mcosta yeah it is having deafault pdf viewer

              QDesktopServices ::openUrl(QUrl::fromLocalFile("file::///home/mytsp00042/Desktop/c-gui-programming-with-qt-4-2ndedition(1).pdf"));

              i tried that code. no success.

              JKSHJ Offline
              JKSHJ Offline
              JKSH
              Moderators
              wrote on last edited by
              #8

              @JasonB said:

              QDesktopServices ::openUrl(QUrl::fromLocalFile("file::///home/mytsp00042/Desktop/c-gui-programming-with-qt-4-2ndedition(1).pdf"));

              Is that a typo? You're only supposed to have 1 colon (':').

              Anyway, you can check if your QUrl is correct or not:

              QUrl url = QUrl::fromLocalFile("file:///home/mytsp00042/Desktop/c-gui-programming-with-qt-4-2ndedition(1).pdf");
              qDebug() << url.isValid();
              
              QString str = url.toLocalFile();
              QFile file(str);
              qDebug() << file.exists();
              

              Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

              1 Reply Last reply
              0
              • Joel BodenmannJ Offline
                Joel BodenmannJ Offline
                Joel Bodenmann
                wrote on last edited by
                #9

                This Qt 5.4 program works very well for me on both Linux and Windows:

                #include <QApplication>
                #include <QString>
                #include <QDir>
                #include <QUrl>
                #include <QDesktopServices>
                
                int main(int argc, char *argv[])
                {
                    QApplication a(argc, argv);
                
                    QString path = QDir::toNativeSeparators("/home/tectu/Desktop/foo.pdf");
                    QDesktopServices::openUrl(QUrl("file:///" + path));
                
                    return a.exec();
                }
                

                Industrial process automation software: https://simulton.com
                Embedded Graphics & GUI library: https://ugfx.io

                J 1 Reply Last reply
                1
                • J JasonB

                  @mcosta yeah it is having deafault pdf viewer

                  QDesktopServices ::openUrl(QUrl::fromLocalFile("file::///home/mytsp00042/Desktop/c-gui-programming-with-qt-4-2ndedition(1).pdf"));

                  i tried that code. no success.

                  M Offline
                  M Offline
                  mcosta
                  wrote on last edited by
                  #10

                  @JasonB said:

                  @mcosta yeah it is having deafault pdf viewer

                  QDesktopServices ::openUrl(QUrl::fromLocalFile("file::///home/mytsp00042/Desktop/c-gui-programming-with-qt-4-2ndedition(1).pdf"));

                  i tried that code. no success.

                  you have to use a single colon : character in the URL

                  Once your problem is solved don't forget to:

                  • Mark the thread as SOLVED using the Topic Tool menu
                  • Vote up the answer(s) that helped you to solve the issue

                  You can embed images using (http://imgur.com/) or (http://postimage.org/)

                  1 Reply Last reply
                  0
                  • Joel BodenmannJ Joel Bodenmann

                    This Qt 5.4 program works very well for me on both Linux and Windows:

                    #include <QApplication>
                    #include <QString>
                    #include <QDir>
                    #include <QUrl>
                    #include <QDesktopServices>
                    
                    int main(int argc, char *argv[])
                    {
                        QApplication a(argc, argv);
                    
                        QString path = QDir::toNativeSeparators("/home/tectu/Desktop/foo.pdf");
                        QDesktopServices::openUrl(QUrl("file:///" + path));
                    
                        return a.exec();
                    }
                    
                    J Offline
                    J Offline
                    JasonB
                    wrote on last edited by
                    #11

                    @Joel-Bodenmann
                    Thanks.
                    Its working.

                    Joel BodenmannJ 1 Reply Last reply
                    0
                    • J JasonB

                      @Joel-Bodenmann
                      Thanks.
                      Its working.

                      Joel BodenmannJ Offline
                      Joel BodenmannJ Offline
                      Joel Bodenmann
                      wrote on last edited by
                      #12

                      @JasonB Glad to hear that.
                      Can you please mark this thread as [SOLVED] and upvote the answer(s) that helped you solving your problem?

                      Industrial process automation software: https://simulton.com
                      Embedded Graphics & GUI library: https://ugfx.io

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved