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. Qt & Photoshop @ Mac migration problem

Qt & Photoshop @ Mac migration problem

Scheduled Pinned Locked Moved General and Desktop
12 Posts 7 Posters 6.1k 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.
  • F Offline
    F Offline
    frinker
    wrote on last edited by
    #1

    Hello friends,

    I'm writing a photoshop plugin on Mac, and want to create the UI with Qt. But when I just show a simple dialog, the photoshop menu was gone, and wasn't responsible even after close the dialog.

    @void PhotoshopPlugin::ShowDialog( )
    {
    int argc = 0;
    QApplication a(argc, 0);

       HelloDialog w(NULL, 0);
       w.show();
       a.exec();
    

    }@

    I know the QmfcApp for windows, which will handle the Qt & MFC migration, and it works for me. But I can't find a Mac version of the qmfcApp.

    Any suggestions will be greatly appreciated.

    Thanks,
    Daniel

    [EDIT: title adjusted to match the actual question, Volker]

    1 Reply Last reply
    0
    • G Offline
      G Offline
      giesbert
      wrote on last edited by
      #2

      Hi,

      How is photoshop implemented?
      You create a QApplication object, which will have influence to the event loop. and then spin the event loop inside your plugin (a.exec()) ....

      Nokia Certified Qt Specialist.
      Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

      1 Reply Last reply
      0
      • G Offline
        G Offline
        goetz
        wrote on last edited by
        #3

        You must use Adobe's means to implement the user interface. You can not use Qt for this (or with only such big effort that it is not worth it).

        http://www.catb.org/~esr/faqs/smart-questions.html

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

          You are not allowed to create photoshop plugin by Qt ...You have to use Photoshop API...

          1 Reply Last reply
          0
          • G Offline
            G Offline
            goetz
            wrote on last edited by
            #5

            Of course, one can use Qt library functions (eg. the string and xml classes) to create a photoshop plugin (as well as eg. an InDesign plugin). One has to follow LGPL rules and provide the DLLs in an appropriate directory or use a commercial license and link statically. The GUI is a different beast, this is subject to Adobe's API as mentioned earlier.

            http://www.catb.org/~esr/faqs/smart-questions.html

            1 Reply Last reply
            0
            • C Offline
              C Offline
              cincirin
              wrote on last edited by
              #6

              One of the largest companies that develops Photoshop plug-ins, "AlienSkin":http://www.alienskin.com/, use Qt. I don't know if their GUI dialogs are made with Qt, but in Windows OS, their plug-in distribution contain QtGUI4.dll.

              [EDIT: fixed link name, Volker]

              1 Reply Last reply
              0
              • P Offline
                P Offline
                Peppy
                wrote on last edited by
                #7

                Maybe they are just loading and using classes like QPixmap,QBitmap or something like that...but it requires to use Photoshop API to work (as plug-in) with Photoshop UI...

                1 Reply Last reply
                0
                • F Offline
                  F Offline
                  frinker
                  wrote on last edited by
                  #8

                  thanks guys, I was using the Adobe's way to do the UI (which is ADM suites), but sadly they don't support 64bit. Anyway, I find a post ("http://bugreports.qt.nokia.com/browse/QTBUG-8087":http://bugreports.qt.nokia.com/browse/QTBUG-8087), which works for me.

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    cincirin
                    wrote on last edited by
                    #9

                    No, you're not obliged to use ADM (Adobe Dialog Manager) to develop Photoshop GUI plug-ins. I have developed several plug-ins for Photoshop, but I've used native Win32 API. Anyway, in the future I'll try to port them to Qt framework.

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      Drazick
                      wrote on last edited by
                      #10

                      Could anyone give more info about using QT for creating the GUI for Photoshop GUI?
                      Thanks.

                      1 Reply Last reply
                      0
                      • C Offline
                        C Offline
                        cincirin
                        wrote on last edited by
                        #11

                        Hi,
                        I assume you have some knowledge about "Adobe Photoshop SDK":http://www.adobe.com/devnet/photoshop.html So in
                        @
                        FilterRecord::filterSelectorStart
                        @

                        at least on windows platform, you can init QApplication and next raise a modal dialog box with your UI. I emphasize to use modal dialog box because this enters a local event loop. Note that I did not tested this on Mac, see @frinker first comment.

                        1 Reply Last reply
                        0
                        • T Offline
                          T Offline
                          torokze
                          wrote on last edited by
                          #12

                          Hi,

                          Make this the first line (before QApplication instance)

                          QApplication::setAttribute(Qt::AA_MacPluginApplication);

                          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