Size: a a a

2021 March 30

AS

Anatoly Shirokov in Qt
Tamer
Layout.fillWidth у кнопок точно не должно быть
???
источник

AS

Anatoly Shirokov in Qt
это профессиональное мнение?
источник

T

Tamer in Qt
Alexander
о_О
поч
Потому что будет заполнение по "возможности", из документации идёт следующее -> элемент БУДЕТ МАКСИМАЛЬНО широким, следовательно для него оперирующем местом будет текст внутри кнопки
источник

AS

Anatoly Shirokov in Qt
Anatoly Shirokov
в синтетическом тесте они одинаковы:
import QtQml 2.12
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12

Window {
   width: 640
   height: 480
   visible: true
   title: qsTr("Hello World")

   ColumnLayout {
       anchors.fill: parent
       RowLayout {
           Layout.fillWidth: true
           Button {
               id: button1
               text: "do it"
               Layout.fillWidth: true
           }
           Button {
               id: button2
               text: "do not do it"
               Layout.fillWidth: true
           }
       }
       TextField {
           text: button1.width
       }
       TextField {
           text: button2.width
       }
       Item {
               Layout.fillWidth: true
               Layout.fillHeight: true
       }  
   }
}
@sultanatowner к слову, в синтетическом тесте все работает, как ожидается
источник

A

Alexander in Qt
Tamer
Потому что будет заполнение по "возможности", из документации идёт следующее -> элемент БУДЕТ МАКСИМАЛЬНО широким, следовательно для него оперирующем местом будет текст внутри кнопки
что значит оперирующим местом будет текст?
источник

T

Tamer in Qt
Ну я имел ввиду, что ширина будет меняться из-за этого, в зависимости от текста
источник

AS

Anatoly Shirokov in Qt
Tamer
Ну я имел ввиду, что ширина будет меняться из-за этого, в зависимости от текста
похоже на то
источник

AS

Anatoly Shirokov in Qt
если в синтетическом тесте поставить
источник

AS

Anatoly Shirokov in Qt
Button {
               id: button2
               text: "do not do it !!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
               Layout.fillWidth: true
           }
источник

AS

Anatoly Shirokov in Qt
то все поменяется
источник

КГ

Константин Громов... in Qt
зима
У qt есть свой тупл.
Ну а так, создавай вектор туплов и сам парси стринг оист
Как он называется? И я не совсем понимаю как парсить, поэтому и спрашиваю
источник

T

Tamer in Qt
Поэтому я бы попробовал у родителя задать разбивку
источник

AS

Anatoly Shirokov in Qt
Tamer
Поэтому я бы попробовал у родителя задать разбивку
да, похоже на то
источник

AS

Anatoly Shirokov in Qt
@sultanatowner @mr_mait спасибо за хинты, итоговый вариант:
    ColumnLayout {
       id: columnLayout
       anchors.fill: parent
       RowLayout {
           id: layout
           Layout.fillWidth: true
           Button {
               id: button1
               text: "do it"
               Layout.fillWidth: true
               Layout.preferredWidth: columnLayout.width / 2
           }
           Button {
               id: button2
               text: "do not do it !!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
               Layout.fillWidth: true
               Layout.preferredWidth: columnLayout.width / 2
           }
       }
       TextField {
           text: button1.width
       }
       TextField {
           text: button2.width
       }
       TextField {
           text: layout.width
       }
       Item {
           Layout.fillWidth: true
           Layout.fillHeight: true
       }
   }
источник

AS

Anatoly Shirokov in Qt
значит склероз меня подвел, что я fillWidth добивался пропорциональности
источник

m

mefest in Qt
Anatoly Shirokov
@sultanatowner @mr_mait спасибо за хинты, итоговый вариант:
    ColumnLayout {
       id: columnLayout
       anchors.fill: parent
       RowLayout {
           id: layout
           Layout.fillWidth: true
           Button {
               id: button1
               text: "do it"
               Layout.fillWidth: true
               Layout.preferredWidth: columnLayout.width / 2
           }
           Button {
               id: button2
               text: "do not do it !!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
               Layout.fillWidth: true
               Layout.preferredWidth: columnLayout.width / 2
           }
       }
       TextField {
           text: button1.width
       }
       TextField {
           text: button2.width
       }
       TextField {
           text: layout.width
       }
       Item {
           Layout.fillWidth: true
           Layout.fillHeight: true
       }
   }
только хотел написать про preferredWidth
кажется тоже такое встречал
источник

AS

Anatoly Shirokov in Qt
да, если доку внимательно изучить, то там действительно сказано, если Layout.preferredWidth=-1 (дефолт), то берется в расчет implicitWidth, а для кнопки он будет определяться text-ом
источник

КГ

Константин Громов... in Qt
Suigintou45 E14
А если QVariantList? Зачем лишние преобразования?
Я в целом не понимаю, как (через циклы или с помощью методов) содержимое листа поместить в кортеж 🤦‍♂️
источник

з

зима in Qt
Константин Громов
Как он называется? И я не совсем понимаю как парсить, поэтому и спрашиваю
QPair https://doc.qt.io/qt-5/qpair.html
QVector<QPair<QString, T>> or QList <QPair<QString, T>>
так, я тут погуглил. есть два метода парсинга
первый — вручную, сам пишешь функцию парсинга
второй — qCopy https://doc.qt.io/archives/qt-4.8/qtalgorithms.html#qCopy
источник

з

зима in Qt
я, правда, пока не понимаю, как будет работать это, можно ли вообще лист со строками парсить в лист с туплом через qCopy
источник