Important: Please read the Qt Code of Conduct -

Intellisense not shows the objects added via Designer.

  • Hi,

    I'm using Qt Creator 4.7.4 and I added QListWidget to my application via Designer. ObjectName of the added QListWidget appear as listWidget then I renamed it to myListWidget.

    Then try to add items using the code. I declare a pointer to UI as ui and try to access myListWidget. But Intellisense not displaying the myListWidget after type ui-> instead it is showing listWidget.

    When I use it I got following error.
    'class Ui::FormWidget' has no member named 'listWidget'

    If I manually type myListWidget it is working.

    So why Intellisense working like that?

    Thanks in advance.

  • Hi,
    Intellisense uses the last known items after a succesfull compilation of your code, or when the code is changed when you safe that file. So, if you change the names in Designer, you need to run qmake and the MOC (a clean and rebuild should do the trick).

  • Thanks Jeroentje.

  • @ Jeroentje.,

    I tried to compile and run. Even it compiles and run successfully 'Intellisense' not working correctly.

    Intellisense working correctly after restart of the the Qt Creator. :(

  • There is no Qt Creator 4.7.4, that's a Qt version number. If your Qt Creator is of the same vintage, say version 2.1 or 2.2, then it likely has a good number of code completion issues that have been addressed in more recent releases (there have been 7 or 8 releases since 2.2). Use a more recent Qt Creator.

    BTW: "IntelliSense" is a Microsoft trademark for what the Visual Studio does, and nothing to do with Qt Creator.

  • @ChrisW67,

    Ohh. yes that's true. I'm using Qt Creator 2.4.1 based on Qt 4.7.4.

    Can I use "Qt Creator 3 ": with Qt 4.7.4?

    [quote author="ChrisW67" date="1389673669"]
    BTW: "IntelliSense" is a Microsoft trademark for what the Visual Studio does, and nothing to do with Qt Creator.[/quote]
    I asked my superior and he says it should be 'code completion'.

    Thank you.

Log in to reply