如何实现这样的python matplotlib heatmap colorbar? plt.imshow(a,aspect='auto', cmap=plt.cm.gist_rainbow_r) plt.colorbar()
考虑具有以下签名的函数: (defn make-widget [& {:keys [x y] :or {x 10 y 20}}] ...) 将映射传递给函数的最佳方法是什么,例如: (make-widget {:x 100}) ...
总的来说,我对 matplotlib 真的很困惑。我通常只使用 import matplotlib.pyplot as plt。 然后执行 plt.figure()、plt.scatter()、plt.xlabel()、plt.show() 等操作。 但后来我
在 Windows 10 上的 VSCode 中使用新的 venv 并想要安装 matplotlib 和张量流 matplotlib 安装成功,但是张量流也没有尝试使用特定版本,但确实...
Matplotlib:从 fill_ Between 导出的阴影区域有白色边框
我绘制了一些训练曲线,其中阴影区域代表标准误差。阴影区域是通过Matplotlib中的fill_ Between方法实现的。然而,导出的 .eps 图...
如何在reportlab画布中绘制matplotlib图形?
我想使用方法drawImage将使用matplotlib生成的图形添加到reportlab画布中,而不必先将图形保存到硬盘驱动器。 我的问题与以下内容有关: 是...
将 Sphinx doctest 与包含 Matplotlib 示例的文档字符串结合使用
下面所示的函数使用 Matplotlib 显示线图。该函数的文档字符串包含使用该函数与数字列表的示例。我正在使用 Sphinx make html 命令...
VS Code 重启后重新打开关闭的 Python 脚本和 matplotlib 图形
我在 Windows 11 计算机上遇到 VS Code 的奇怪问题。几天前,我运行了一个简单的 Python 程序,它在 for 循环中生成 matplotlib 图形。代码不涉及任何
我是flutter的新手,我想知道是否有任何方法可以只获取SafeArea Widget的填充值而不使用它。 我只希望我的一些小部件受到填充和
使用 matplotlib 在 x 轴下方等距离对齐多个标签
我正在尝试使用 matplotlib 在 x 轴下方添加一些标签。我有 5-6 个标签,我想将它们绘制在 x 轴下方。因此,这些标签的文本会有所不同,只需一个设置即可...
使用全局变量(动画类)时,matplotlib 中的动画函数被阻止
所以,我有问题。我需要对 CALP(级联自适应线性预测器)错误进行动画处理。我正在使用 liber matplotlib (动画类)来解决我的任务,但是当我尝试计算新系数时
关于文档,如果 Flutter 识别到相同的密钥,它将更新 url 并保留页面(Widget)。在下面的代码中,pageKey 是在两个容器中设置的静态常量值。当导航...
计算 Alexa Widget 的 APL 文档中的时区偏移量
有没有办法从 APL 文档中确定设备的时区并将时区偏移应用于自 1970-01-01T00:00:00Z 纪元以来以毫秒表示的时间? 我在找...
构建自定义 Elementor Widget-Wordpress(未显示)
我想创建一个elementor小部件并将其添加到基本elementor菜单中。我根据本教程找到并执行此操作,但它不起作用(未出现在基本菜单中):https://develowp.com/build-a-cu...
在 Flutter 中使用 VoidCallback 设置 widget 参数时出错
我正在尝试使用参数 VoidCallback 调用一个小部件,但是当我想调用该小部件时,按下时出现错误: () { } 这里的错误消息:错误图像(无效的常量值。)
如何获取 Entry 的 StringVar(不是文本值,而是 StringVar 本身)?
我正在尝试获取与 Entry 小部件关联的 StringVar 对象,但我不知道如何获取。 我发现了这个问题:get StringVar bond to Entry widget 但没有一个答案对我有用。乙...
`在我的代码中,我制作了动态文本小部件,侧面有带有最小化图标的按钮。 每次我按下按钮以使计算发生在与 si 不同的文本上时,我的问题...
错误 CS0246 找不到类型或命名空间名称“Androidx”(您是否缺少 using 指令或程序集引用?)
我正在将 Xamarin.Android 应用程序从 Andorid 9 迁移到 Android 10。我已将所有支持包更新为 Andoridx 包。 在更改 android.support.v7.widget 后的 .axml 文件中。
Widget 扩展单元测试错误:“未定义符号:[...] 的标称类型描述符。”
我的应用程序有一个小组件扩展,其扩展中定义了一个结构体 MyStruct,目标成员资格为 MyAppWidgetExtension。我还有一个 UnitTesting 目标,我想在其中进行 UnitTests...
为什么在build方法之前声明的变量“ButtonCount”的值在flutter中不保留其值
根据我对flutter和dart的理解,当重建一个widget或者当我使用热重载时,在构建函数之前声明的变量的值会被保留。然而,情况并非如此...
如何从Python中的matplotlib饼图获取颜色映射?
来自 pandas 关于从数据框创建饼图的文档: 我有以下代码: df = pd.DataFrame({'质量': [0.330, 4.87 , 5.97], ‘半径’: [2439.7, 6051.8, 6378.1]}...
我刚开始使用 xarray 的绘图功能,我通常使用 matplotlib。 我正在尝试移动 xarray.plot.scatter 创建的图例。能够删除图例也很酷
我需要帮助设置 matplotlib 上 y 轴的限制。这是我尝试过的代码,但没有成功。 将 matplotlib.pyplot 导入为 plt plt.figure(1, Figsize = (8.5,11)) plt.suptitle('情节标题...
有人可以解释一下吗? 该代码应该在按下鼠标按钮时打印出事件详细信息。如果我将button_press_event插槽连接到on_button_press(在...
我正在使用 Cartopy 在多个 Matplotlib 子图中显示 GSHHSFeature 海岸线,并在其上叠加不同的数据。 将 matplotlib.pyplot 导入为 plt 将 cartopy.crs 导入为 ccrs 进口cartopy。
我想让散点图的图例不依赖于点的颜色。简单的例子如下: 将 matplotlib.pyplot 导入为 plt 将 numpy 导入为 np 将 pandas 导入为 pd 假数据...
我想反转沿 x 轴的单轴刻度(及其标签)的方向以突出显示某些指定值。 我成功地操纵了其他属性,但显然颠倒了......
下面是一个代码,其中绘制了正弦波并在其顶部添加了阶跃波: 将 numpy 导入为 np 将 matplotlib.pyplot 导入为 plt # 正弦波参数 A = 5 # 增加幅度 f = 1 # 弗...
我们刚刚从nose切换到pytest,似乎没有一个选项可以抑制第三方日志记录。在鼻子配置中,我们有以下行: 日志过滤器=-matplotlib,-chardet。
我正在寻找一种方法来打印平方根符号,而其下没有任何值。 我正在使用 python 的 matplotlib 包版本 3.9。 我用来获取符号的代码是这样的: def text_to_rgba...
我想知道是否有办法将 3D 直方图从 matplotlib 映射到颜色热图? 例如我有一个 3D 直方图 如何将其转换为热图,其中高度显示为颜色...
我的目标是首先创建两个图(我正确创建的),每个图代表市场上仍然未平仓的看跌期权和看涨期权数量的 CDF。 对于每个情节,我还想绘制
有没有办法用matplotlib枚举plt.scatter中的标记?
我的目标是使用标记按特定顺序选择点。例如,想象一下选择棋盘的边缘(我知道有使用 opencv 的自动技术,但我需要手动选项)。 ...
我有一个问题,因为我使用左 y 轴绘制 7 个移动平均值(p1,数据帧)的图。在右侧 y 轴上,我绘制了 MA 的数据(pidx,也是数据帧)。时间到了-
Matplotlib 动画,要么运行缓慢并重新绘制颜色条,要么缺少绘图
我正在尝试通过加载每帧的 numpy 数组来对之前保存的数据进行动画处理。 我的代码如下: 图, ax = plt.subplots(1, 1, constrained_layout = False) def 例程(...
我正在尝试在图形中创建图例,但当我使用 legend() 时它不起作用。我不知道还能做什么。我看到了很多关于它的信息,我也在做同样的事情,但它一直不起作用......
在 matplotlib 中使用 dict 值作为 xticks
我创建了一个有5个不同时间点的折线图,每个时间点包含6个不同的值。为了避免重叠误差线,我为每个时间点的每个值创建了一个偏移量,并且......
我正在尝试使用 Pandas 创建一个过滤数据框,并将其发送到使用 matplotlib 按条件分割的屏幕,但是当我尝试将项目添加到空列表中时,该列表不会按条件过滤...
使用seaborn绘制随时间变化的pH值,大约有5000个点
我正在尝试通过在工作中使用数据集来了解有关 Pandas/Matplotlib/Seaborn 的更多信息。我想用seaborn图表来自动化报告,当然,这对ba来说可能有点过分了......
导航工具栏平移和缩放按钮/图标在 matplotlib 中处于活动状态时不会突出显示背景
我使用 PySide6 和 Qt 设计器在 python 中构建了一个应用程序,其中我添加了一个 matplotlibWidget 到窗口 main_plot_container 并将 NavigationToolbar2QT 添加到位于
在 python 中更新 matplotlib 后,“QuadContourSet”对象的属性没有设置器错误
我编写并运行了一个 cod 来绘制 netcdf 文件。升级 pip 和使用的库后,我收到错误:“QuadContourSet”对象的属性没有设置器。 如果有人能帮助我,我将不胜感激...
我对 HTML 很陌生。我知道如何添加表格行和单元格,以及如何通过路径插入图像。现在我已经通过Python和matplotlib生成了一堆图形的图像文件,并对它们进行了排序...
错误:在此 BlocBuilder<InternetBloc> Widget<InternetBloc, InternetState> 上方找不到正确的提供程序
我在尝试将 flutter_bloc 集成到 flutter 项目中时遇到错误。 错误:在此 BlocBuilder 上方找不到正确的 Provider 我在尝试将 flutter_bloc 集成到 flutter 项目中时遇到错误。 错误:在此 BlocBuilder Widget 上方找不到正确的提供者 这是我正在使用的代码示例。 internet_state.dart abstract class InternetState{} class InitialInternetState extends InternetState{} class LostConnectionInternetState extends InternetState{} class GainConnectionInternetState extends InternetState{} internet_event.dart abstract class InternetEvent{} class LostConnectionEvent extends InternetEvent{} class GainConnectionEvent extends InternetEvent{} internet_bloc.dart class InternetBloc extends Bloc<InternetEvent, InternetState>{ final Connectivity _connectivity = Connectivity(); StreamSubscription? streamSubscription; InternetBloc() : super(InitialInternetState()){ on<GainConnectionEvent>((event, emit) => emit(GainConnectionInternetState())); on<LostConnectionEvent>((event, emit) => emit(LostConnectionInternetState())); _connectivity.onConnectivityChanged.listen((event) { if(event == ConnectivityResult.mobile || event == ConnectivityResult.wifi){ add(GainConnectionEvent()); } else { add(LostConnectionEvent()); } }); } @override Future<void> close() { streamSubscription?.cancel(); return super.close(); } } main.dart class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatelessWidget { const MyHomePage({super.key, required this.title}); final String title; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(title),), body: SafeArea( child: Center(child: BlocBuilder<InternetBloc, InternetState>( builder: (context, state) { return const Text("hello"); }, )), ),); } } 我明白了。 ======== 小部件库捕获异常====================================== =================== 构建 MediaQuery(MediaQueryData(size: Size(392.7, 783.3), devicePixelRatio: 2.8, textScaler: noscaling, platformBrightness: Brightness.light, padding: EdgeInsets.zero, viewPadding: EdgeInsets.zero, viewInsets: EdgeInsets 时抛出以下 ProviderNotFoundException。零,systemGestureInsets:EdgeInsets(29.8,24.0,29.8,8.0),alwaysUse24HourFormat:假,accessibleNavigation:假,highContrast:假,onOffSwitchLabels:假,disableAnimations:假,invertColors:假,boldText:假,navigationMode:传统,gestureSettings:DeviceGestureSettings (touchSlop:8.0),显示功能:[])): 错误:无法在此 BlocBuilder Widget 之上找到正确的提供程序 发生这种情况是因为您使用了不包含提供程序的 BuildContext 你的选择。有以下几种常见场景: 您在main.dart中添加了一个新的提供程序并执行了热重载。 要修复此问题,请执行热重启。 您尝试阅读的提供商处于不同的路线。 提供商具有“范围”。因此,如果您在路线中插入提供者,那么 其他路线将无法访问该提供商。 您使用了 BuildContext,它是您尝试读取的提供程序的祖先。 确保 BlocBuilder 位于您的 MultiProvider/Provider 下。 当您创建提供程序并尝试立即读取它时,通常会发生这种情况。 例如,代替: Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // Will throw a ProviderNotFoundError, because `context` is associated // to the widget that is the parent of `Provider<Example>` child: Text(context.watch<Example>().toString()), ); } 考虑使用builder,如下所示: Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // we use `builder` to obtain a new `BuildContext` that has access to the provider builder: (context, child) { // No longer throws return Text(context.watch<Example>().toString()); } ); } 如果这些解决方案都不起作用,请考虑在 StackOverflow 上寻求帮助: https://stackoverflow.com/questions/tagged/flutter The relevant error-causing widget was: SafeArea SafeArea:file:///Users/../Projects/flutterTest/bloc_test/lib/main.dart:37:13 When the exception was thrown, this was the stack: #0 Provider._inheritedElementOf (package:provider/src/provider.dart:343:7) #1 Provider.of (package:provider/src/provider.dart:293:30) #2 ReadContext.read (package:provider/src/provider.dart:649:21) #3 _BlocBuilderBaseState.initState (package:flutter_bloc/src/bloc_builder.dart:130:36) #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5602:55) #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5447:5) ... Normal element mounting (4 frames) #9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4326:16) #10 Element.updateChild (package:flutter/src/widgets/framework.dart:3831:20) #11 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #12 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #13 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #14 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #15 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6743:14) #16 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #18 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #19 StatelessElement.update (package:flutter/src/widgets/framework.dart:5547:5) #20 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #22 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #23 StatelessElement.update (package:flutter/src/widgets/framework.dart:5547:5) #24 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #25 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #26 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #27 StatelessElement.update (package:flutter/src/widgets/framework.dart:5547:5) #28 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #29 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #30 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #31 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #32 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #33 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #34 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #35 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #36 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #37 Element.updateChildren (package:flutter/src/widgets/framework.dart:3964:32) #38 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6896:17) #39 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #40 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #41 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #42 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #43 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #44 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #45 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #46 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #47 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #48 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #49 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #50 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #51 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #52 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #53 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #54 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #55 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #56 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #57 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #58 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #59 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #60 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #61 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #62 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #63 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6743:14) #64 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #65 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #66 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #67 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #68 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #69 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6743:14) #70 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #71 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #72 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #73 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #74 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #75 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #76 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #77 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #78 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #79 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #80 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #81 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #82 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #83 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #84 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #85 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #86 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #87 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #88 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #89 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #90 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #91 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #92 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #93 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #94 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #95 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #96 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #97 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #98 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #99 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #100 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #101 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #102 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #103 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #104 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #105 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #106 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #107 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #108 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #109 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2895:19) #110 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:984:21) #111 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5) #112 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15) #113 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9) #114 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:978:7) #118 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12) (elided 3 frames from class _Timer and dart:async-patch) ==================================================================================================== 我不想使用像 MultiProvider 这样的全局提供程序。 您应该在某处创建 InternetBloc 并提供它。 MultiProvider 本身并不是全局的,它只是多个。 更多信息在这里:https://bloclibrary.dev/#/flutterbloccoreconcepts?id=blocprovider 所以,如果您不想使用全局提供程序,它将看起来像这样: class MyHomePage extends StatelessWidget { const MyHomePage({super.key, required this.title}); final String title; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(title), ), body: SafeArea( child: Center( child: BlocProvider<InternetBloc>( create: ( context) => InternetBloc(), child: BlocBuilder<InternetBloc, InternetState>( builder: (context, state) { return const Text("hello"); }, ), ), ), ), ); } } 要使用 BlocBuilder,您需要在 Widget 树中放置一个 BlocProvider。最佳实践是将其放置得尽可能深。在您的情况下,只需将 BlocProvider 放在 BlocBuilder 之上。 此外 MultiProvider / MultiBlocProvider 不是全局 Provider。它只是一个提供多个 Provider/BlocProvider 的便捷小部件。 class MyHomePage extends StatelessWidget { const MyHomePage({super.key, required this.title}); final String title; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(title), ), body: SafeArea( child: Center( // Now everything below that can access the InternetBloc child: BlocProvider<InternetBloc>( create: (_) => InternetBloc(), child: BlocBuilder<InternetBloc, InternetState>( builder: (context, state) { return const Text("hello"); }, ), ), ), ), ); } }
为什么我在GWT中无法隐藏UiBinder中的DialogBox?
在 Test.ui.xml 中 测试 一些小部件.. 在Test.ui.xml <g:DialogBox ui:field="wishlistDialogBox" autoHide="true"> <g:caption>Test</g:caption> <g:HTMLPanel> some widgets..</g:HTMLPanel> </g:DialogBox> 运行后,应用程序仍然显示DialogBox,所以我尝试在TestView.java中为“wishlistDialogBox”设置隐藏,但没有成功。 @UiField DialogBox wishlistDialogBox; @Inject public TestView(final Binder binder) { widget = binder.createAndBindUi(this); wishlistDialogBox.hide(); } 然后我在TestPresenter.java中为它设置了隐藏,但仍然不起作用 @Override protected void onBind() { super.onBind(); getView().getWishlistDialogBox().hide(); } 怎么了,古德尔根本没有解释。 另外,DialogBox如何重复使用? 当谈论将它们添加到 DOM 时,DialogBox(以及一般的 PopupPanel)不像任何其他小部件那样工作。您永远不应该像以前那样将它们直接附加到它(即 panel.add(yourDialogBox) 或在 UiBinder XML 文件中)。相反,您应该创建它们,然后简单地调用 hide()/show() 以及类似的方法,以使其显示/隐藏(即,在 DOM 的末尾附加/分离)。 对我有用的是与任何其他小部件分开创建一个对话框。所以它有自己的 Java 文件和自己的 ui.xml 文件: UiBinder xml文件: <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"> <g:DialogBox ui:field="dialog"> <g:caption>My Dialog</g:caption> <g:HTMLPanel> <g:Button ui:field="closeButton" text="close" /> </g:HTMLPanel> </g:DialogBox> </ui:UiBinder> Java 文件: public class MyDialog { // here you do not inherit anything private static MyDialogUiBinder uiBinder = GWT.create(MyDialogUiBinder.class); interface MyDialogUiBinder extends UiBinder<Widget, MyDialog> { } @UiField DialogBox dialog; @UiField Button closeButton; public MyDialog() { // make cast to DialogBox dialog = (DialogBox) (uiBinder.createAndBindUi(this)); } public void hide() { dialog.hide(); } public void show() { dialog.center(); } @UiHandler("closeButton") public void onClick(ClickEvent event) { hide(); } } 最后我想出了一个办法,那就是把DialogBox放到一个看不见的HTMLPanel <g:HTMLPanel visible="false"> <g:DialogBox ui:field="wishlistDialogBox" autoHide="true"> <g:caption>Test</g:caption> <g:HTMLPanel> some widgets..</g:HTMLPanel> </g:DialogBox> </g:HTMLPanel> 然后像往常一样调用 show & hide DialogBox,即使 DialogBox 被包裹在一个看不见的 DialogBox 中,它也会显示 HTMLPanel。 getView().getWishlistDialogBox().show();