diff --git a/src/Qt6/imports/FluentUI/Controls/FluTour.qml b/src/Qt6/imports/FluentUI/Controls/FluTour.qml
index 4fb4b2de..d411ec8a 100644
--- a/src/Qt6/imports/FluentUI/Controls/FluTour.qml
+++ b/src/Qt6/imports/FluentUI/Controls/FluTour.qml
@@ -109,8 +109,12 @@ Popup{
         width: 500
         height: 88 + text_desc.height
         color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
+        property int dir : (y<d.pos.y)?1:0
         x: Math.min(Math.max(0,d.pos.x+d.target.width/2-width/2),d.window?.width-width)
-        y: d.pos.y+d.target.height+control.targetMargins + 15
+        y: {
+            var ty=d.pos.y+d.target.height+control.targetMargins + 15
+            return ((ty+height)>d.window?.height)?(d.pos.y-height-control.targetMargins - 15):ty   
+        }
         border.width: 0
         FluShadow{
             radius: 5
@@ -183,9 +187,9 @@ Popup{
         }
     }
     FluIcon{
-        iconSource: FluentIcons.FlickDown
+        iconSource: layout_panne.dir?FluentIcons.FlickUp:FluentIcons.FlickDown
         color: layout_panne.color
         x: d.pos.x+d.target.width/2-10
-        y: d.pos.y+d.target.height
+        y: d.pos.y+(layout_panne.dir?-height:d.target.height)
     }
 }