Compare commits
No commits in common. "823721ab8c63ccaa0efa6790edea17d6e0b9fb90" and "46f7299362b0645fa700191a8bf2791b0c0bdf13" have entirely different histories.
823721ab8c
...
46f7299362
|
@ -65,6 +65,7 @@ if(QT_VERSION VERSION_GREATER_EQUAL "6.2")
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
#添加qml模块
|
||||||
if (FLUENTUI_BUILD_STATIC_LIB)
|
if (FLUENTUI_BUILD_STATIC_LIB)
|
||||||
set(LIB_TYPE "STATIC")
|
set(LIB_TYPE "STATIC")
|
||||||
else()
|
else()
|
||||||
|
|
|
@ -77,18 +77,7 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const WPARAM wParam = msg->wParam;
|
if(uMsg == WM_NCCALCSIZE){
|
||||||
const LPARAM lParam = msg->lParam;
|
|
||||||
if(uMsg == WM_WINDOWPOSCHANGING){
|
|
||||||
WINDOWPOS* wp = reinterpret_cast<WINDOWPOS*>(lParam);
|
|
||||||
if (wp != nullptr && (wp->flags & SWP_NOSIZE) == 0)
|
|
||||||
{
|
|
||||||
wp->flags |= SWP_NOCOPYBITS;
|
|
||||||
*result = DefWindowProc(hwnd, uMsg, wParam, lParam);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}else if(uMsg == WM_NCCALCSIZE){
|
|
||||||
*result = WVR_REDRAW;
|
*result = WVR_REDRAW;
|
||||||
return true;
|
return true;
|
||||||
}else if(uMsg == WM_NCPAINT){
|
}else if(uMsg == WM_NCPAINT){
|
||||||
|
@ -164,7 +153,7 @@ void FluFramelessHelper::_updateCursor(int edges){
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
|
bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
|
||||||
if (!window.isNull() && window->flags()) {
|
if (!window.isNull() && window->flags() & Qt::FramelessWindowHint) {
|
||||||
|
|
||||||
static int edges = 0;
|
static int edges = 0;
|
||||||
const int margin = 8;
|
const int margin = 8;
|
||||||
|
@ -234,10 +223,7 @@ void FluFramelessHelper::componentComplete(){
|
||||||
}
|
}
|
||||||
if(!window.isNull()){
|
if(!window.isNull()){
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
#if (QT_VERSION == QT_VERSION_CHECK(6, 5, 3))
|
window->setFlags(window->flags() | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);
|
||||||
window->setFlag(Qt::FramelessWindowHint,true);
|
|
||||||
#endif
|
|
||||||
window->setFlag(Qt::WindowMinimizeButtonHint,true);
|
|
||||||
_nativeEvent =new FramelessEventFilter(this);
|
_nativeEvent =new FramelessEventFilter(this);
|
||||||
qApp->installNativeEventFilter(_nativeEvent);
|
qApp->installNativeEventFilter(_nativeEvent);
|
||||||
HWND hwnd = reinterpret_cast<HWND>(window->winId());
|
HWND hwnd = reinterpret_cast<HWND>(window->winId());
|
||||||
|
@ -248,7 +234,6 @@ void FluFramelessHelper::componentComplete(){
|
||||||
SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_THICKFRAME | WS_CAPTION);
|
SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_THICKFRAME | WS_CAPTION);
|
||||||
}
|
}
|
||||||
showShadow(hwnd);
|
showShadow(hwnd);
|
||||||
SetWindowPos(hwnd,nullptr,0,0,0,0,SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
|
|
||||||
#else
|
#else
|
||||||
window->setFlags((window->flags() & (~Qt::WindowMinMaxButtonsHint) & (~Qt::Dialog)) | Qt::FramelessWindowHint | Qt::Window);
|
window->setFlags((window->flags() & (~Qt::WindowMinMaxButtonsHint) & (~Qt::Dialog)) | Qt::FramelessWindowHint | Qt::Window);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -116,6 +116,7 @@ void FluentUI::registerTypes(const char *uri){
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluSpinBox.qml"),uri,major,minor,"FluSpinBox");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluSpinBox.qml"),uri,major,minor,"FluSpinBox");
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluStatusView.qml"),uri,major,minor,"FluStatusView");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluStatusView.qml"),uri,major,minor,"FluStatusView");
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTabView.qml"),uri,major,minor,"FluTabView");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTabView.qml"),uri,major,minor,"FluTabView");
|
||||||
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTableModelColumn.qml"),uri,major,minor,"FluTableModelColumn");
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTableView.qml"),uri,major,minor,"FluTableView");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTableView.qml"),uri,major,minor,"FluTableView");
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluText.qml"),uri,major,minor,"FluText");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluText.qml"),uri,major,minor,"FluText");
|
||||||
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTextBox.qml"),uri,major,minor,"FluTextBox");
|
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTextBox.qml"),uri,major,minor,"FluTextBox");
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
import Qt.labs.qmlmodels 1.0
|
||||||
|
|
||||||
|
TableModelColumn{
|
||||||
|
|
||||||
|
}
|
|
@ -13,17 +13,19 @@ Rectangle {
|
||||||
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
|
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
|
||||||
onColumnSourceChanged: {
|
onColumnSourceChanged: {
|
||||||
if(columnSource.length!==0){
|
if(columnSource.length!==0){
|
||||||
var columns= []
|
var com_column = Qt.createComponent("FluTableModelColumn.qml")
|
||||||
var header_rows = {}
|
if (com_column.status === Component.Ready) {
|
||||||
columnSource.forEach(function(item){
|
var columns= []
|
||||||
var column = Qt.createQmlObject('import Qt.labs.qmlmodels 1.0;TableModelColumn{}',table_model);
|
var header_rows = {}
|
||||||
column.display = item.dataIndex
|
columnSource.forEach(function(item){
|
||||||
columns.push(column)
|
var column = com_column.createObject(table_model,{display:item.dataIndex});
|
||||||
header_rows[item.dataIndex] = item.title
|
columns.push(column)
|
||||||
})
|
header_rows[item.dataIndex] = item.title
|
||||||
table_model.columns = columns
|
})
|
||||||
header_model.columns = columns
|
table_model.columns = columns
|
||||||
d.header_rows = [header_rows]
|
header_model.columns = columns
|
||||||
|
d.header_rows = [header_rows]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
QtObject{
|
QtObject{
|
||||||
|
|
|
@ -75,6 +75,7 @@ FluSlider 1.0 Controls/FluSlider.qml
|
||||||
FluSpinBox 1.0 Controls/FluSpinBox.qml
|
FluSpinBox 1.0 Controls/FluSpinBox.qml
|
||||||
FluStatusView 1.0 Controls/FluStatusView.qml
|
FluStatusView 1.0 Controls/FluStatusView.qml
|
||||||
FluTabView 1.0 Controls/FluTabView.qml
|
FluTabView 1.0 Controls/FluTabView.qml
|
||||||
|
FluTableModelColumn 1.0 Controls/FluTableModelColumn.qml
|
||||||
FluTableView 1.0 Controls/FluTableView.qml
|
FluTableView 1.0 Controls/FluTableView.qml
|
||||||
FluText 1.0 Controls/FluText.qml
|
FluText 1.0 Controls/FluText.qml
|
||||||
FluTextBox 1.0 Controls/FluTextBox.qml
|
FluTextBox 1.0 Controls/FluTextBox.qml
|
||||||
|
|
|
@ -71,6 +71,7 @@
|
||||||
<file>FluentUI/Controls/FluSpinBox.qml</file>
|
<file>FluentUI/Controls/FluSpinBox.qml</file>
|
||||||
<file>FluentUI/Controls/FluStaggeredView.qml</file>
|
<file>FluentUI/Controls/FluStaggeredView.qml</file>
|
||||||
<file>FluentUI/Controls/FluStatusView.qml</file>
|
<file>FluentUI/Controls/FluStatusView.qml</file>
|
||||||
|
<file>FluentUI/Controls/FluTableModelColumn.qml</file>
|
||||||
<file>FluentUI/Controls/FluTableView.qml</file>
|
<file>FluentUI/Controls/FluTableView.qml</file>
|
||||||
<file>FluentUI/Controls/FluTabView.qml</file>
|
<file>FluentUI/Controls/FluTabView.qml</file>
|
||||||
<file>FluentUI/Controls/FluText.qml</file>
|
<file>FluentUI/Controls/FluText.qml</file>
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
import Qt.labs.qmlmodels
|
||||||
|
|
||||||
|
TableModelColumn{
|
||||||
|
|
||||||
|
}
|
|
@ -14,17 +14,19 @@ Rectangle {
|
||||||
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
|
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
|
||||||
onColumnSourceChanged: {
|
onColumnSourceChanged: {
|
||||||
if(columnSource.length!==0){
|
if(columnSource.length!==0){
|
||||||
var columns= []
|
var com_column = Qt.createComponent("FluTableModelColumn.qml")
|
||||||
var header_rows = {}
|
if (com_column.status === Component.Ready) {
|
||||||
columnSource.forEach(function(item){
|
var columns= []
|
||||||
var column = Qt.createQmlObject('import Qt.labs.qmlmodels;TableModelColumn{}',table_model);
|
var header_rows = {}
|
||||||
column.display = item.dataIndex
|
columnSource.forEach(function(item){
|
||||||
columns.push(column)
|
var column = com_column.createObject(table_model,{display:item.dataIndex});
|
||||||
header_rows[item.dataIndex] = item.title
|
columns.push(column)
|
||||||
})
|
header_rows[item.dataIndex] = item.title
|
||||||
table_model.columns = columns
|
})
|
||||||
header_model.columns = columns
|
table_model.columns = columns
|
||||||
d.header_rows = [header_rows]
|
header_model.columns = columns
|
||||||
|
d.header_rows = [header_rows]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
QtObject{
|
QtObject{
|
||||||
|
|
Loading…
Reference in New Issue