Access and inheritance
-
So we will never have to call the base class's constructor from the subclass, because if there is an explicit constructor for the base class, the compiler calls (implicitly) for us (with the absence of an explicit call from us), and if there is no constructor for the base class, the compiler creates a default one and implicitly calls that in the subclass. Hence, we had better never involve ourselves with calling a base class's constructor directly (from the subclass)! :) :)
-
@tomy
Hi
The automatic version is only for a default constructor.
As soon as base class constructor takes parameters, it must be called from subclass as compiler cannot
know how to obtain the parameters to give to base class.
However the compiler will tell you that. -
What @mrjj said, plus the moment you define a constructor, the compiler stops generating for you. Thus if you define a constructor with parameters, the compiler will not generate a default constructor for you. Beautiful system, right? :)
-
If you change the icons to flat style, it will look more "modern"
Hi,
The example you posted look very modern and stylish, but too advanced for me now. Thank you.
I like to go step by step. So for the icons, I must download some "flat .png related files" from the Internet and substitute the old ones with these. Right? -
@tomy
Hi
Yes, that could be the first step.
Maybe a bit of stylesheet to make QToolbar more flat to fit the new icons.
I dont have an image of spreadsheet app around so im not sure what else you can
do currently. will write of get any other ideas. -
Beautiful system, right? :)
Right. :)
Yes, that could be the first step.
Maybe a bit of stylesheet to make QToolbar more flat to fit the new icons.
I dont have an image of spreadsheet app around so im not sure what else you can
do currently. will write of get any other ideas.Hi, Thanks. So I need to lookup "stylesheet".
-
-
@mrjj Hi,
I created a new project called MySpreadsheet and added a few more options to the context menu and renewed the icons to flat ones.
Now when I run the project, it runs normally, but when we close it, the follwoing message is written in the Application Output window:Starting D:\Projects\Qt\MySpreadsheet\MySpreadsheet\build-MySpreadsheet-Desktop_Qt_5_12_0_MinGW_64_bit-Debug\debug\MySpreadsheet.exe...
FTH: (243752): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***
The program has unexpectedly finished.
The process was ended forcefully.
D:/Projects/Qt/MySpreadsheet/MySpreadsheet/build-MySpreadsheet-Desktop_Qt_5_12_0_MinGW_64_bit-Debug/debug/MySpreadsheet.exe crashed.What is the problem please?
Is it not related to the .pro file, please? -
Hi
It is the list to the right we are after
The code
for entries Level 2,3 would help a lot. -
Hi
it was not what i as i had hoped, it being inside some of the user code.
I wonder if you have a double free.
Did you change anything in main.cpp? -
@mrjj Hi,
Here is
main.cpp
:#include "myspreadsheet.h" #include <QApplication> #include <QSplashScreen> int main(int argc, char *argv[]) { QApplication app(argc, argv); QSplashScreen* splash = new QSplashScreen; splash->setPixmap(QPixmap(":/images/splash.jpg")); splash->show(); Qt::Alignment topRight = Qt::AlignRight | Qt::AlignTop; splash->showMessage(QObject::tr("Setting up the main window..."), topRight, Qt::white); MySpreadsheet* mySP = new MySpreadsheet; if(argc > 1) mySP -> loadFile(argv[1]); mySP -> show(); splash -> finish(mySP); delete splash; return app.exec(); }
I added those splash stuff and now apparently it's fine!
-
Hi
Does look fine.
Try set breakpoint in main.cpp and press f10 to signle step over it and
see if we can find the reason for the crash.
Since its first on close, it might be inside MySpreadsheet indirectly.