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. How to passing file path to app
QtWS25 Last Chance

How to passing file path to app

Scheduled Pinned Locked Moved General and Desktop
14 Posts 4 Posters 3.9k Views
  • 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.
  • IamSumitI Offline
    IamSumitI Offline
    IamSumit
    wrote on last edited by
    #2

    Hi
    Can you show your code ?

    Be Cute

    1 Reply Last reply
    0
    • M Offline
      M Offline
      marco d
      wrote on last edited by
      #3

      [quote author="IamSumit" date="1411122561"]Hi
      Can you show your code ?
      [/quote]

      Hi lamSumit,

      i have a simple main main(argc,argv)
      in arg doesn't pass enoth argumnets in MAC but in windows pass the file path

      1 Reply Last reply
      0
      • P Offline
        P Offline
        primem0ver
        wrote on last edited by
        #4

        I don't know how mac associates file extensions with programs but it is different than windows. How did you "associate" the file with the app on the mac?

        Honestly, this may require you understanding how the mac runs programs when associations are created. The only reason that your executable gets the file name on a windows machine is because of the windows registry. When you associate a file with a program on a windows machine, information is put into the registry that allows windows to execute your program using the shell command line. In other words it literally mimics sending arguments to your program as if it were typed out in a command line.

        If the mac system has a different way of sending associated file information to its programs, this method will not work. Since I am not a mac user...I really don't know how it works on a mac.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          marco d
          wrote on last edited by
          #5

          [quote author="primem0ver" date="1411128705"]I don't know how mac associates file extensions with programs but it is different than windows. How did you "associate" the file with the app on the mac?

          Honestly, this may require you understanding how the mac runs programs when associations are created. The only reason that your executable gets the file name on a windows machine is because of the windows registry. When you associate a file with a program on a windows machine, information is put into the registry that allows windows to execute your program using the shell command line. In other words it literally mimics sending arguments to your program as if it were typed out in a command line.

          If the mac system has a different way of sending associated file information to its programs, this method will not work. Since I am not a mac user...I really don't know how it works on a mac.[/quote]

          thak you for your reply
          in MAC when you right click to file.xyz and "obtain info" you can associated one app at this file exstension.
          in this way when i double click on all files with this extension app starts.
          but not passing file path

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #6

            Hi,

            What do you mean by "passing file path" ? Dropping a file on your application icon ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • M Offline
              M Offline
              marco d
              wrote on last edited by
              #7

              Hi SGaist,

              yes i drop my file on my application.
              but in windows my application starts with the file opens,in mac my application starts without file

              thanks

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #8

                OS X and Windows are different beasts. Have a look at "QFileOpenEvent":http://qt-project.org/doc/qt-5/QFileOpenEvent.html and the doc not that comes with it

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  marco d
                  wrote on last edited by
                  #9

                  [quote author="SGaist" date="1411385275"]OS X and Windows are different beasts. Have a look at "QFileOpenEvent":http://qt-project.org/doc/qt-5/QFileOpenEvent.html and the doc not that comes with it[/quote]

                  Hi SGaist,

                  thak you for your reply,
                  i have reimplemented this method
                  bool App::event(QEvent *event){
                  if(event->type()==QEvent::FileOpen){
                  QFileOpenEvent *fev=static_cast<QFileOpenEvent *>(event);
                  loadFile(fev->file());
                  return true;
                  }
                  return QApplication::event(event);
                  }

                  in my application.

                  and now when i have the software started and i double click in associated file,the file is opened in my software.
                  but i f the program is close and i double click on file i have one error in report
                  QWidgets::X ....

                  thanks

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #10

                    What error is that ?

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      marco d
                      wrote on last edited by
                      #11

                      [quote author="SGaist" date="1411418026"]What error is that ?[/quote]

                      Hi SGaist,

                      if i double click when the program is open,it's ok.
                      if i double click when the program is close,there is error.

                      it seems like you can not create a interface....
                      the program cash next double click and not start
                      in he report ere is error in QWidget:X..

                      thanks

                      1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #12

                        What is the text provided with the error ?

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          marco d
                          wrote on last edited by
                          #13

                          Process: prova7 [1234]
                          Path: /Users/USER/Desktop/*/prova7.app/Contents/MacOS/prova7
                          Identifier: it.prova.prova
                          Version: ???
                          Code Type: X86-64 (Native)
                          Parent Process: launchd [349]
                          Responsible: prova7 [1234]
                          User ID: 501

                          Date/Time: 2014-09-23 11:17:30.136 +0200
                          OS Version: Mac OS X 10.9.5 (13F34)
                          Report Version: 11
                          Anonymous UUID: EE450DB7-1A2F-12F0-73F3-7CA29136620B

                          Crashed Thread: 0 Dispatch queue: com.apple.main-thread

                          Exception Type: EXC_BAD_ACCESS (SIGSEGV)
                          Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000028

                          VM Regions Near 0x28:
                          -->
                          __TEXT 0000000100000000-000000010077d000 [ 7668K] r-x/rwx SM=COW /Users/USER/Desktop/*/prova7.app/Contents/MacOS/prova7

                          Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
                          0 QtWidgets 0x0000000101378cca QWidget::x() const + 10
                          1 it.prova.prova 0x000000010007b319 AddMetroText(QString, QString, long*, long, QWidget*) + 57
                          2 it.prova.prova 0x000000010007b1f3 AddMetroLoad(QString, long*, long) + 99
                          3 it.prova.prova 0x0000000100135bc8 LoadRasterScn(char const*, bool) + 792
                          4 it.prova.prova 0x000000010010a739 ScnLoad(QString) + 505
                          5 it.prova.prova 0x000000010010e65b newEditScn(QString, bool) + 75
                          6 it.prova.prova 0x00000001001d4233 Application::openFile(QString) + 291
                          7 it.prova.prova 0x00000001001d80d2 Application::event(QEvent*) + 50
                          8 QtWidgets 0x000000010134d89c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 300
                          9 QtWidgets 0x000000010135038d QApplication::notify(QObject*, QEvent*) + 6157
                          10 QtCore 0x0000000101f62a12 QCoreApplication::notifyInternal(QObject*, QEvent*) + 114
                          11 QtGui 0x000000010193259a QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 922
                          12 QtGui 0x00000001019225b0 QWindowSystemInterface::handleFileOpenEvent(QString const&) + 64
                          13 libqcocoa.dylib 0x0000000103c1b4b5 -[QCocoaApplicationDelegate application:openFiles:] + 437
                          14 com.apple.AppKit 0x00007fff893b00e5 __69-[NSApplication(NSAppleEventHandling) _handleAEOpenDocumentsForURLs:]_block_invoke + 1651
                          15 com.apple.AppKit 0x00007fff891abb80 __95-[NSPersistentUIManager restoreAllPersistentStateRegisteringAsReadyWhenDone:completionHandler:]_block_invoke538 + 37
                          16 com.apple.AppKit 0x00007fff891abb13 __78-[NSDocumentController(NSInternal) _autoreopenDocumentsWithCompletionHandler:]_block_invoke_2 + 140
                          17 com.apple.AppKit 0x00007fff891ab6fd -[NSDocumentController(NSInternal) _autoreopenDocumentsWithCompletionHandler:] + 746
                          18 com.apple.AppKit 0x00007fff891a3aa5 -[NSPersistentUIRestorer finishedRestoringWindowsWithZOrder:completionHandler:] + 1714
                          19 com.apple.AppKit 0x00007fff89018099 -[NSPersistentUIRestorer restoreStateFromRecords:usingDelegate:completionHandler:] + 2110
                          20 com.apple.AppKit 0x00007fff89017739 -[NSPersistentUIManager restoreAllPersistentStateRegisteringAsReadyWhenDone:completionHandler:] + 398
                          21 com.apple.AppKit 0x00007fff89016a36 -[NSApplication _reopenWindowsAsNecessaryIncludingRestorableState:registeringAsReady:completionHandler:] + 398
                          22 com.apple.AppKit 0x00007fff893af9e9 -[NSApplication(NSAppleEventHandling) _handleAEOpenDocumentsForURLs:] + 306
                          23 com.apple.AppKit 0x00007fff890162ab -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 450
                          24 com.apple.Foundation 0x00007fff8b22359a -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 294
                          25 com.apple.Foundation 0x00007fff8b22340d _NSAppleEventManagerGenericHandler + 106
                          26 com.apple.AE 0x00007fff88a2fe1f aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 381
                          27 com.apple.AE 0x00007fff88a2fc32 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 31
                          28 com.apple.AE 0x00007fff88a2fb36 aeProcessAppleEvent + 315
                          29 com.apple.HIToolbox 0x00007fff8f3c6161 AEProcessAppleEvent + 56
                          30 com.apple.AppKit 0x00007fff890120b6 _DPSNextEvent + 1026
                          31 com.apple.AppKit 0x00007fff8901189b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
                          32 com.apple.AppKit 0x00007fff8900599c -[NSApplication run] + 553
                          33 libqcocoa.dylib 0x0000000103c1815b QCocoaEventDispatcher::processEvents(QFlagsQEventLoop::ProcessEventsFlag) + 779
                          34 QtWidgets 0x0000000101384e64 QWidgetPrivate::show_helper() + 564
                          35 QtWidgets 0x00000001013858fd QWidget::setVisible(bool) + 1165
                          36 it.prova.prova 0x00000001001d9e60 main + 1584
                          37 it.prova.prova 0x0000000100004024 start + 52

                          1 Reply Last reply
                          0
                          • SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #14

                            What do you get from a run in the debugger ?

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            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