Compare commits

...

2 Commits

Author SHA1 Message Date
朱子楚\zhuzi
132ab12c32 update 2024-05-05 00:06:01 +08:00
朱子楚\zhuzi
af270951da update 2024-05-04 23:56:20 +08:00
6 changed files with 261 additions and 44 deletions

View File

@ -1700,22 +1700,30 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
</message>
<message>
<location filename="qml/page/T_RadioButton.qml" line="38"/>
<location filename="qml/page/T_RadioButton.qml" line="80"/>
<location filename="qml/page/T_RadioButton.qml" line="81"/>
<location filename="qml/page/T_RadioButton.qml" line="134"/>
<location filename="qml/page/T_RadioButton.qml" line="187"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_RadioButton.qml" line="63"/>
<location filename="qml/page/T_RadioButton.qml" line="64"/>
<location filename="qml/page/T_RadioButton.qml" line="117"/>
<location filename="qml/page/T_RadioButton.qml" line="170"/>
<source>Radio Button_1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_RadioButton.qml" line="67"/>
<location filename="qml/page/T_RadioButton.qml" line="68"/>
<location filename="qml/page/T_RadioButton.qml" line="121"/>
<location filename="qml/page/T_RadioButton.qml" line="174"/>
<source>Radio Button_2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_RadioButton.qml" line="71"/>
<location filename="qml/page/T_RadioButton.qml" line="72"/>
<location filename="qml/page/T_RadioButton.qml" line="125"/>
<location filename="qml/page/T_RadioButton.qml" line="178"/>
<source>Radio Button_3</source>
<translation type="unfinished"></translation>
</message>

View File

@ -1808,22 +1808,30 @@ My only desire is to be permitted to drive out the traitors and restore the Han.
</message>
<message>
<location filename="qml/page/T_RadioButton.qml" line="38"/>
<location filename="qml/page/T_RadioButton.qml" line="80"/>
<location filename="qml/page/T_RadioButton.qml" line="81"/>
<location filename="qml/page/T_RadioButton.qml" line="134"/>
<location filename="qml/page/T_RadioButton.qml" line="187"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_RadioButton.qml" line="63"/>
<location filename="qml/page/T_RadioButton.qml" line="64"/>
<location filename="qml/page/T_RadioButton.qml" line="117"/>
<location filename="qml/page/T_RadioButton.qml" line="170"/>
<source>Radio Button_1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_RadioButton.qml" line="67"/>
<location filename="qml/page/T_RadioButton.qml" line="68"/>
<location filename="qml/page/T_RadioButton.qml" line="121"/>
<location filename="qml/page/T_RadioButton.qml" line="174"/>
<source>Radio Button_2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="qml/page/T_RadioButton.qml" line="71"/>
<location filename="qml/page/T_RadioButton.qml" line="72"/>
<location filename="qml/page/T_RadioButton.qml" line="125"/>
<location filename="qml/page/T_RadioButton.qml" line="178"/>
<source>Radio Button_3</source>
<translation type="unfinished"></translation>
</message>

View File

@ -58,6 +58,7 @@ FluScrollablePage{
verticalCenter: parent.verticalCenter
left: parent.left
}
currentIndex: 1
FluRadioButton{
disabled: radio_button_switch2.checked
text: qsTr("Radio Button_1")
@ -97,4 +98,110 @@ FluScrollablePage{
}'
}
FluFrame{
Layout.fillWidth: true
Layout.preferredHeight: 60
padding: 10
Layout.topMargin: 20
FluRadioButtons{
spacing: 8
anchors.verticalCenter: parent.verticalCenter
anchors{
verticalCenter: parent.verticalCenter
left: parent.left
}
orientation: Qt.Horizontal
currentIndex: 1
FluRadioButton{
disabled: radio_button_switch3.checked
text: qsTr("Radio Button_1")
}
FluRadioButton{
disabled: radio_button_switch3.checked
text: qsTr("Radio Button_2")
}
FluRadioButton{
disabled: radio_button_switch3.checked
text: qsTr("Radio Button_3")
}
}
FluToggleSwitch{
id: radio_button_switch3
anchors{
right: parent.right
verticalCenter: parent.verticalCenter
}
text: qsTr("Disabled")
}
}
CodeExpander{
Layout.fillWidth: true
Layout.topMargin: -6
code:'FluRadioButtons{
spacing: 8
orientation: Qt.Horizontal
FluRadioButton{
text:"Radio Button_1"
}
FluRadioButton{
text:"Radio Button_2"
}
FluRadioButton{
text:"Radio Button_3"
}
}'
}
FluFrame{
Layout.fillWidth: true
Layout.preferredHeight: 100
padding: 10
Layout.topMargin: 20
FluRadioButtons{
spacing: 8
anchors.verticalCenter: parent.verticalCenter
anchors{
verticalCenter: parent.verticalCenter
left: parent.left
}
currentIndex: 1
FluCheckBox{
disabled: radio_button_switch4.checked
text: qsTr("Radio Button_1")
}
FluCheckBox{
disabled: radio_button_switch4.checked
text: qsTr("Radio Button_2")
}
FluCheckBox{
disabled: radio_button_switch4.checked
text: qsTr("Radio Button_3")
}
}
FluToggleSwitch{
id: radio_button_switch4
anchors{
right: parent.right
verticalCenter: parent.verticalCenter
}
text: qsTr("Disabled")
}
}
CodeExpander{
Layout.fillWidth: true
Layout.topMargin: -6
code:'FluRadioButtons{
spacing: 8
FluCheckBox{
text:"Radio Button_1"
}
FluCheckBox{
text:"Radio Button_2"
}
FluCheckBox{
text:"Radio Button_3"
}
}'
}
}

View File

@ -271,6 +271,7 @@ void FluFrameless::componentComplete() {
*result = TRUE;
return true;
} else if (uMsg == WM_GETMINMAXINFO) {
#if (QT_VERSION == QT_VERSION_CHECK(6, 5, 3) || QT_VERSION == QT_VERSION_CHECK(6, 6, 0))
auto *minmaxInfo = reinterpret_cast<MINMAXINFO *>(lParam);
auto pixelRatio = window()->devicePixelRatio();
auto geometry = window()->screen()->availableGeometry();
@ -280,6 +281,7 @@ void FluFrameless::componentComplete() {
minmaxInfo->ptMaxPosition.y = rect.top;
minmaxInfo->ptMaxSize.x = qRound(geometry.width() * pixelRatio);
minmaxInfo->ptMaxSize.y = qRound(geometry.height() * pixelRatio);
#endif
return false;
} else if (_isWindows11OrGreater && (uMsg == WM_NCLBUTTONDBLCLK || uMsg == WM_NCLBUTTONDOWN)) {
if (_hitMaximizeButton()) {

View File

@ -3,30 +3,76 @@ import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import FluentUI 1.0
ColumnLayout {
default property alias buttons: control.data
property int currentIndex : -1
Item{
id:control
onCurrentIndexChanged: {
for(var i = 0;i<buttons.length;i++){
buttons[i].checked = false
}
var button = buttons[currentIndex]
if(button){
button.checked = true
default property list<QtObject> buttons
property int currentIndex : -1
property int spacing: 8
property int orientation: Qt.Vertical
QtObject{
id: d
function updateChecked(){
if(buttons.length === 0){
return
}
for(var i = 0;i<buttons.length;i++){
buttons[i].checked = false
}
buttons[currentIndex].checked = true
}
}
Component.onCompleted: {
for(var i = 0;i<buttons.length;i++){
buttons[i].clickListener = function(){
for(var i = 0;i<buttons.length;i++){
var button = buttons[i]
if(this === button){
currentIndex = i
implicitWidth: childrenRect.width
implicitHeight: childrenRect.height
onCurrentIndexChanged: {
d.updateChecked()
}
Component{
id:com_vertical
ColumnLayout {
data: control.buttons
spacing: control.spacing
Component.onCompleted: {
for(var i = 0;i<control.buttons.length;i++){
control.buttons[i].clickListener = function(){
for(var i = 0;i<control.buttons.length;i++){
var button = control.buttons[i]
if(this === button){
control.currentIndex = i
}
}
}
}
if(control.currentIndex < 0){
control.currentIndex = 0
}
d.updateChecked()
}
}
currentIndex = 0
}
Component{
id:com_horizontal
RowLayout {
data: buttons
spacing: control.spacing
Component.onCompleted: {
for(var i = 0;i<control.buttons.length;i++){
control.buttons[i].clickListener = function(){
for(var i = 0;i<control.buttons.length;i++){
var button = control.buttons[i]
if(this === button){
control.currentIndex = i
}
}
}
}
if(control.currentIndex < 0){
control.currentIndex = 0
}
d.updateChecked()
}
}
}
FluLoader{
sourceComponent: control.orientation === Qt.Vertical ? com_vertical : com_horizontal
}
}

View File

@ -4,30 +4,76 @@ import QtQuick.Controls.Basic
import QtQuick.Layouts
import FluentUI
ColumnLayout {
default property alias buttons: control.data
property int currentIndex : -1
Item{
id:control
onCurrentIndexChanged: {
for(var i = 0;i<buttons.length;i++){
buttons[i].checked = false
}
var button = buttons[currentIndex]
if(button){
button.checked = true
default property list<QtObject> buttons
property int currentIndex : -1
property int spacing: 8
property int orientation: Qt.Vertical
QtObject{
id: d
function updateChecked(){
if(buttons.length === 0){
return
}
for(var i = 0;i<buttons.length;i++){
buttons[i].checked = false
}
buttons[currentIndex].checked = true
}
}
Component.onCompleted: {
for(var i = 0;i<buttons.length;i++){
buttons[i].clickListener = function(){
for(var i = 0;i<buttons.length;i++){
var button = buttons[i]
if(this === button){
currentIndex = i
implicitWidth: childrenRect.width
implicitHeight: childrenRect.height
onCurrentIndexChanged: {
d.updateChecked()
}
Component{
id:com_vertical
ColumnLayout {
data: control.buttons
spacing: control.spacing
Component.onCompleted: {
for(var i = 0;i<control.buttons.length;i++){
control.buttons[i].clickListener = function(){
for(var i = 0;i<control.buttons.length;i++){
var button = control.buttons[i]
if(this === button){
control.currentIndex = i
}
}
}
}
if(control.currentIndex < 0){
control.currentIndex = 0
}
d.updateChecked()
}
}
currentIndex = 0
}
Component{
id:com_horizontal
RowLayout {
data: buttons
spacing: control.spacing
Component.onCompleted: {
for(var i = 0;i<control.buttons.length;i++){
control.buttons[i].clickListener = function(){
for(var i = 0;i<control.buttons.length;i++){
var button = control.buttons[i]
if(this === button){
control.currentIndex = i
}
}
}
}
if(control.currentIndex < 0){
control.currentIndex = 0
}
d.updateChecked()
}
}
}
FluLoader{
sourceComponent: control.orientation === Qt.Vertical ? com_vertical : com_horizontal
}
}