接着说这个好东西。
上一期我们把 ElaWidgetTools 加入到了我们自己的项目里面。
所以!
这一期我们先不管自己那个项目。
没办法啊,因为我们也不知道这玩意咋用嘛,这期先看看大佬写的示例代码学学怎么用的吧。
在我们的 ElaWidgetTools 项目中,有一个 example 文件夹,是咱们上一个图中窗口运行的实际代码,咱们就抄这个里面的代码用就好了。
内容如下:
ExamplePage:内容为示例页面的具体内容,在主窗口的 cpp 文件中使用
Header Files:头文件
ModelView:对要展示的一些模型的内容的具体设计,在展示对应控件的页面中使用
Resource:一些图片
Source Files:cpp 文件
主函数:
int main(int argc, char* argv[])
{
QApplication a(argc, argv);
eApp->init();
MainWindow w;
w.show();
return a.exec();
}
主函数调用了一个 eApp 的初始化。eApp实际上就是 ElaApplication 的实例。
#define eApp ElaApplication::getInstance()
void ElaApplication::init()
{
QApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);
QFontDatabase::addApplicationFont(":/include/Font/ElaAwesome.ttf");
//默认字体
QFont font = qApp->font();
font.setPixelSize(13);
font.setFamily("Microsoft YaHei");
font.setHintingPreference(QFont::PreferNoHinting);
qApp->setFont(font);
}
初始化函数的内容其实看不看都行了,我们自己写的时候也只需要调用一下就行。
内容也不多。
第一行就是设置了一下本程序的属性,具体内容你少管,反正就是确保在跨平台的情况下各个控件的外观不会有太大变化。
后面的一坨就是给程序设置了一个默认字体,微软雅黑。
(程序运行了以后发现图标变成了小方块的话,可以检查一下是不是没初始化。)
main.cpp 里面就这一行的改动(还有加上头文件啥的)。
主要的代码都写在 mainwindow 里面:
映入眼帘的是一大陀头文件,其实不用在意,一会再说。
值得注意的是 MainWindow 类的父类改变了,改成了 ElaWindow。我们使用的时候也要这样做一下,在头文件和源文件里对应的位置都改成 ElaWindow。这个时候程序运行起来的窗口就不一样了,变成了这样:
(糙汉子秒变二次元美少女)
然后我们先看一下 initWindow 函数:
void MainWindow::initWindow()
{
setWindowIcon(QIcon(":/include/Image/Cirno.jpg"));
resize(1200, 740);
setUserInfoCardPixmap(QPixmap(":/Resource/Image/Cirno.jpg"));
setUserInfoCardTitle("Ela Tool");
setUserInfoCardSubTitle("Liniyous@gmail.com");
setWindowTitle("ElaWidgetTool");
}
前两行和最后一行是 qt 原本就有的功能:设置窗口图标,设置窗口大小和设置窗口标题
下面三行代码是设置这个区域的:
setUserInfoCardPixmap:设置用户卡片的图标
setUserInfoCardTitle:设置用户卡片的标题
setUserInfoCardSubTitle:设置用户卡片的 sub 标题
我试了一下,就算不写这三行代码也会按上图生成默认的用户卡片。
我们可以通过调用 setUserInfoCardVisible 函数来设置是否显示用户卡片,参数为一个 bool 类型。
简单抄一下这几行代码,加入到我们自己的项目里面,我们就得到了:
就先说这些吧,下期说说关于插入页面相关的内容。