一、杂记
//管理整个应用程序所用到的资源QApplication a(argc, argv);
///将应用程序的控制权传递给Qt,程序进入事件循环,等待鼠标,键盘等事件
return a.exec();
///这句初始化静态窗体,内部建立所需要的信号和槽对应
ui->setupUi(this);
img = img.rgbSwapped(); //BGR 转RGB
rightTip->setAlignment(Qt::AlignCenter | Qt::AlignRight);//对齐方式
//获得当前程序所在目录
return QApplication::applicationDirPath();
//设置图标
this->setWindowIcon(QIcon(":/16-9/LOGO.png"));
//设置外部字体
nIndex = QFontDatabase::addApplicationFont(path + QStringLiteral("/微软vista雅黑.ttf"));
if (nIndex != -1)
{
QStringList strList(QFontDatabase::applicationFontFamilies(nIndex));
if (strList.count() > 0)
{
font.setFamily(strList.at(0));
font.setPixelSize(FONT_SIZE *scale * 90 / 72);
}
}
//设置style
m_centralWidget->setStyleSheet("QWidget#centralWidget{background-color:rgb(242, 242, 242,180)};");
//管理多个信号对应同一个槽,很好用
QSignalMapper signalMapper;
for(int i=0;i<btn_count;i++)
{
signalMapper.setMapping(btn_custom+i,i);
connect(btn_custom+i,SIGNAL(clicked(bool)),&signalMapper,SLOT(map()));
}
connect(&signalMapper,SIGNAL(mapped(int)),this,SLOT(onToolAction(int))); //设置窗体透明,在没有父窗口的情况下可以生效,不会显示黑色。
leftDownBox->setWindowFlags(Qt::FramelessWindowHint);
leftDownBox->setAttribute(Qt::WA_TranslucentBackground);
//遍历父窗口上的子控件
QList<CustomToolBtn*> Widgets = customBtnWidget->findChildren<CustomToolBtn*>();
if(!Widgets.isEmpty())
{
foreach(CustomToolBtn* obj ,Widgets)
{
delete obj;