Utilities for developing Qt applications in Visual Studio Express Editions.
This repository contains some tools/scripts that should make working with Qt in VisualStudio Express editions easier. In the first place, there exists an QtCreate script that automatically creates a new dialog, adds all files to your project and configures the build process.
For some more details about the internals of the script, check out my blog post
To configure this automatic process for your project, first of all copy the QtCreate.ps1 file in the same directory where your project.vcxproj is located. Then you have to configure the QtCreate script: Replace the default value of the $project variable at the beginning of the file, with the filename of your project.vcxproj file (without extension) After the Set-StrictMode instruction, you have to customize the script so it fits your needs. I will now explain the meaning of all variables that can be customized in these ~15 lines of code.
- $dialogDir [REQUIRED] - relative path to the directory where the files generated by the script will be stored (for every dialog one .cpp, .h and one .ui file are generated)
- $generatedFilesDir [REQUIRED] - relative path to directory where all generated files, that are created by the qt tools (uic nd moc) are stored
- $debugConfs [REQUIRED] - array of the names of all your debug configurations in your project
- $dirsDebugConfs [REQUIRED] - array of the folder names where the generated files in the $generatedFilesDir should be stored. Each debug configuration needs a corresponding entry in this array.
- $debugGeneratedFilesFilters [REQUIRED] - array that contains the corresponding filters for the generated files
- $releaseConfs, $releaseDebugConfs, $relaseGeneratedFilesFilter [REQUIRED] - same meaning like the 'debug' variants of these variables for the release configurations of the project
- $generatedFilesHeaderFilter - filter in which the generated files of the Qt tools should be included. These are the files, you should not modify by hand
- $sourceFilesFilter, $headerFilesFilter, $formFilesFilter - filters where the files generated by the script should be included
- $qtDialogXXXTemplate [REQUIRED] - path to the template files that are used by the script to create a new dialog
Additionally to configuring the QtCreate script, you have to modify your project a little bit (using VisualStudio)
- In the compiler settings the 'GeneratedFiles' folder must be added as an additional include directory
- Add a (or modify an existing) property sheet and add a 'QTDIR' macro. This macro must contain the path to your QT directory.
Now you should be able to add your first Qt dialog using the script. However, I strongly recommand to make a backup of your .vcxproj and .vcxproj.filters files everytime you add a new dialog. If there is a problem (eg path not found, access denied,...) it can happen, that these files are left in an inconsistent state. You then have to clean up the mess by hand. Or just use a VCS, like everybody else...
After you have added your first dialog to the project, right click the .ui file and choose 'open with'. There you can enter the path to the Qt designer and set this assignment as default.
If this description is too confusing or something does not work: take a look at the included example project in this repository and feel free to contact me if there remains anything unclear