Diseño de interfaz de usuario simple
Si desea una sombra, debe asegurarse de que el margen no sea 0, por lo que necesitamos margen cuando no está maximizado, ¡pero no necesitamos margen cuando está maximizado!
Uso de biblioteca de enlaces dinámicos
¡Cree un nuevo proyecto y genere una biblioteca de enlaces dinámicos para su uso!
#ifndef LIBTEST_H
#define LIBTEST_H
#include <QtGlobal>
// Q_DECL_EXPORT 导出类
class Q_DECL_EXPORT LibTest
{
public:
LibTest();
};
extern "C" Q_DECL_EXPORT void testFunction();
#endif // LIBTEST_H
#include "libtest.h"
#include <QDebug>
LibTest::LibTest()
{
}
void testFunction()
{
qDebug() << "testFunction";
}
#-------------------------------------------------
#
# Project created by QtCreator 2021-03-27T22:59:25
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = QT_actual_1
TEMPLATE = app
#加入lib文件
#-L 表示目录,-l 表示库的名字,会自动寻找 lib + 库名 + .a 的文件
LIBS += -L. -llibTest
# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
CONFIG += c++11
SOURCES += \
main.cpp \
widget.cpp
HEADERS += \
widget.h
FORMS += \
widget.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
DLL utilizado con éxito!