小编use*_*665的帖子

Flutter - 使用空容器填充?

我有一列从屏幕顶部延伸到底部,该列内有两行,每行有三个按钮。

调整这两行之间的垂直间距的最佳/正确方法是什么?

目前我正在使用带有空子容器的 Expanded 在列的子项之间添加间隙,因此页面顶部和第一行之间有 10% 的“间隙”,两行之间还有 10% 的“间隙”

这感觉不太对,我似乎仅限于 XX% 的填充量,我想尝试避免特定的像素量,因此无论屏幕大小如何,布局都保持一致

  Column(
    children: <Widget>[
      Expanded(flex: 1, child:Container()),
      Expanded(flex: 3, child:
          Row(children: <Widget>[
            Expanded(child: _navButton(Icons.person, "User", ()=>print("User"))),
            Expanded(child: _navButton(Icons.insert_drive_file, "Formulation", ()=>print("Formulation"),)),
            Expanded(child: _navButton(Icons.lightbulb_outline, "Devices", ()=>print("Devices"),)),
          ],)),
      Expanded(flex: 1, child:Container()),
      Expanded(flex: 3, child:
        Row(children: <Widget>[
          Expanded(flex: 3, child: _navButton(Icons.settings, "Settings", ()=>print("Settings"), iconColour: Colors.blueGrey)),
          Expanded(flex: 3, child: _navButton(Icons.camera_alt, "Photos", ()=>print("Photos"),)),
          Expanded(flex: 3, child: _navButton(Icons.cancel, "Exit", ()=>print("Exit"), iconColour: Colors.redAccent)),
        ],
      )),
    ],
  )
Run Code Online (Sandbox Code Playgroud)

flutter

5
推荐指数
1
解决办法
4203
查看次数

QT_VERSION 不正确?

我正在开发 Qt Android 应用程序(Qt 5.11.1),并尝试使用一个库,该库使用 QtGlobal 的 QT_VERSION 检查 Qt 的版本。

由于函数不可用,我在编译时遇到错误,这似乎是因为报告的 Qt 版本不正确,(库查找#if QT_VERSION >= 0x050000 ...

添加以下跟踪语句;

qDebug() << "QT VERSION: " << QT_VERSION;
qDebug() << "QT STRING: " << QT_VERSION_STR;
Run Code Online (Sandbox Code Playgroud)

给出输出:

... (int main(int, char**)): QT VERSION:  330497
... (int main(int, char**)): QT STRING:  5.11.1
Run Code Online (Sandbox Code Playgroud)

该字符串看起来正确,但版本号看起来不正确。

我正在使用 Windows 7 计算机,安装了 Qt Creator 4.7,并通过维护工具安装了 Qt 5.11.1 和 5.10.1。构建设置只是 Android 的默认设置。

我对 Qt 不太熟悉,并且不确定从这里该去哪里,所以任何帮助将不胜感激。

c++ configuration qt

3
推荐指数
1
解决办法
1538
查看次数

Flutter范围模型-传递多个模型

我最近一直在使用Scoped Model,想知道是否有更好的方法将多个模型推到树上供儿童使用。

假设我有一个“ AppModel”,它是我需要的所有模型的组成部分

class AppModel extends Model
{
  ModelA a = new ModelA();
  ModelB b = new ModelB();
  ModelC c = new ModelC();
}
Run Code Online (Sandbox Code Playgroud)

我首先将此模型添加到 main

runApp(ScopedModel<AppModel>(
    model: AppModel(),
    child: MaterialApp(
      title: 'MyApp',
      home: Home(),
    )),);
Run Code Online (Sandbox Code Playgroud)

这将导致应用程序从树中可用的AppModel的主页开始。

主页是一系列按钮,每个按钮都指向另一个页面,这些页面可以使用AppModel中的多个模型

当按下按钮时,我想打开相关页面并传递AppModel所需的“子模型”

目前onPressed,我的按钮看起来像这样,在其中嵌套了范围模型

() => Navigator.push(context, 
      MaterialPageRoute(builder: (context) => ScopedModel<ModelA>
          model: ScopedModel.of<AppModel>(context).a,
          child: ScopedModel<ModelB>(
             model: ScopedModel.of<AppModel>(context).b,
             child: PageAB())))))),
Run Code Online (Sandbox Code Playgroud)

PageAB这些我可以通过以下方式访问相关模型ScopedModel.of()

ScopedModel.of<ModelA>(context).modelAGet
ScopedModel.of<ModelA>(context).modelAFunc()

ScopedModel.of<ModelB>(context).modelBGet
ScopedModel.of<ModelB>(context).modelBFunc()
Run Code Online (Sandbox Code Playgroud)

这是共享(多个)模型的正确方法吗?还是有一个更优雅的解决方案?

flutter scoped-model

1
推荐指数
1
解决办法
720
查看次数

标签 统计

flutter ×2

c++ ×1

configuration ×1

qt ×1

scoped-model ×1