标签: widget

在 Kivy Python 中使用预定义值制作文本输入

我正在使用 Kivy 应用程序中的文本输入,但我不知道该怎么做。事实是我想做一个textinput显示您可以输入的值。我知道它可能是 text='...' 但我希望在选择文本输入时删除预定义的文本。我不知道 Kivy 是否可以做到这一点,因为我想始终显示 textinput 为空的列表,其中包含您可以输入的数字。函数 func 仅用于保存小部件的输入。我不想用 kv 语言,所以我这样做是因为洞应用程序更好:

from kivy.uix.textinput import TextInput
textinput = TextInput(text='You can Input 1,2,3,4',multiline=False)
textinput.bind(on_text_validate=func)
Run Code Online (Sandbox Code Playgroud)

python widget textinput kivy

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

如何在自定义小部件中显示 QChartView?

我有一个分配给 QChartView 的 QChart。在我一直关注的示例中,图表在 main.cpp 中显示为:

window.setCentralWidget(chartView);
Run Code Online (Sandbox Code Playgroud)

在我的项目中,我想利用设计器,因此创建了一个自定义小部件,但它没有显示 QChart。我找到了一个例子,他们分配了他们将视图分配给布局然后设置布局,如下所示:

mainLayout = new QGridLayout;
mainLayout->addWidget(chartView, 0, 0);
setLayout(mainLayout);
Run Code Online (Sandbox Code Playgroud)

但这似乎扰乱了窗口中所有其他小部件的布局。如何让自定义小部件显示我的图表视图?

谢谢!

c++ qt widget

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

添加一个没有 JavaScript 的自定义 python 散景小部件

我想在不使用 JavaScript 的情况下创建自定义散景小部件,即不遵循有关添加自定义小部件的散景文档。下面的示例演示了在 PyQt4 中创建自定义小部件(我经常使用它),以及我希望在散景中工作的内容以及我收到的错误消息。

有没有其他方法可以在不使用 JavaScript 的情况下在散景中创建自定义小部件?具体来说,我正在尝试创建一个自定义滑块,每侧带有小 - 和 + 按钮,将滑块递增/递减 1 步。我想在许多应用程序中使用这个自定义小部件,所以我希望它定义为自己的类,并且 on_change 方法链接到滑块 on_change 方法。我想制作散景中的其他自定义小部件(没有 JS!),我想知道这是否可能。

# this works as a base to develop custom PyQt4 widgets
from PyQt4 import QtGui
import sys

class NewWidget(QtGui.QWidget):
    def __init__(self):
        super().__init__()

app = QtGui.QApplication([])
widget = NewWidget()
widget.show()
sys.exit(app.exec_())


# this does not work as a base to develop custom bokeh widgets
# when run, a tab opens with the message
# Bokeh Error
# Model `NewWidget' does …
Run Code Online (Sandbox Code Playgroud)

python widget bokeh

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

notifyappwidgetviewdatachanged 无法处理我的小部件上的列表视图

我尝试了很多解决方案,但几周后我无法解决这个问题:为什么“notifyappwidgetviewdatachanged”不起作用?如何更新放置在我的小部件上的列表视图?我哪里错了?

这是我的课。

小部件提供者:

public class Widget_Provider extends AppWidgetProvider
{
public static final String ACTION_MOSTRAORARI = "fACTION_TOAST";
public static final String EXTRA_STRING = "EXTRA_STRING";

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    // There may be multiple widgets active, so update all of them
    for (int appWidgetId : appWidgetIds)
    {
        RemoteViews views = updateWidgetListView(context, appWidgetId);

        final Intent onItemClick = new Intent(context, Widget_Provider.class);
        onItemClick.setAction(ACTION_MOSTRAORARI);
        onItemClick.setData(Uri.parse(onItemClick.toUri(Intent.URI_INTENT_SCHEME)));
        final PendingIntent onClickPendingIntent = PendingIntent.getBroadcast(context, 0, onItemClick, PendingIntent.FLAG_UPDATE_CURRENT);
        views.setPendingIntentTemplate(R.id.myStopList, onClickPendingIntent);

        appWidgetManager.updateAppWidget(appWidgetId, views);
    }
    super.onUpdate(context, appWidgetManager, …
Run Code Online (Sandbox Code Playgroud)

android listview widget android-appwidget

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

如何在ipywidgets Python的选项卡中显示interact()

我正在尝试在 ipywidget 选项卡中显示交互功能。下面的代码是我尝试这样做,但我只看到下拉列表但未显示图。我还单独包含了 interact() 函数,以显示它在选项卡外的工作方式。非常感谢您对此的任何帮助。谢谢你。

from ipywidgets import *
import seaborn.apionly as sns
df = sns.load_dataset('iris')

#plot
def plot_image(x):

    data = df

    if x != 'Select':
        xplot = data[x]
        sns.distplot(xplot)
        plt.show()

#define widgets
x = widgets.Dropdown(
        options=df_cols,
        value=df_cols[0],
        description='X'
    )

x.set_title  = 'x'

#assign widgets to tabs
tab_visualise = widgets.HBox([x])

#create tabs
tab_nest = widgets.Tab()
tab_nest.children = [tab_visualise]
tab_nest.set_title(0, 'Visualise')
tab_nest

#interact function in isolation
interact(plot_image, x = x)
Run Code Online (Sandbox Code Playgroud)

python tabs widget ipywidgets

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

如何使用 PyQt 组织布局

我对 PyQt 很陌生,我发现在窗口中订购小部件非常困难。

我有一个实时更新的绘图,一个每次用户单击绘图时都会更新的表格,以及两个按钮(开始/停止)。

当前布局的行为方式如下:

在此处输入图片说明

我希望它看起来像这样:

在此处输入图片说明

其中“其他小部件”对应于我将在此工作时添加的未来小部件(例如滑块或下拉列表)。桌子也应该尽可能的薄,以最大化地块的大小并且不让桌子占据不必要的空间。我当前的代码如下(它是独立的):

import sys
import numpy as np
from matplotlib.backends.qt_compat import QtWidgets
from matplotlib.backends.backend_qt5agg import FigureCanvas
from matplotlib.figure import Figure

def onclick(event):
    global clicks
    clicks.append(event.xdata)
    return

class ApplicationWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(ApplicationWindow, self).__init__()
        self._title = 'Prueba real-time'
        self.setWindowTitle(self._title)
        self._main = QtWidgets.QWidget()
        self.setCentralWidget(self._main)
        layout = QtWidgets.QHBoxLayout(self._main)

        dynamic_canvas = FigureCanvas(Figure(figsize=(10, 10)))
        layout.addWidget(dynamic_canvas)

        self._dynamic_ax = dynamic_canvas.figure.subplots()
        dynamic_canvas.figure.canvas.mpl_connect('button_press_event', onclick)
        self._dynamic_ax.grid()
        self._timer = dynamic_canvas.new_timer(
            100, [(self._update_window, (), {})])
        self._timer.start()

        button_stop = QtWidgets.QPushButton('Stop', self)
        layout.addWidget(button_stop)
        button_stop.clicked.connect(self.button_pressed)

        button_start = QtWidgets.QPushButton('Start', self)
        layout.addWidget(button_start)
        button_start.clicked.connect(self.button_pressed) …
Run Code Online (Sandbox Code Playgroud)

python pyqt widget matplotlib pyqt5

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

如何在 Flutter 中使卡片小部件可触摸?

我目前正在制作一个带有卡片小部件列表的应用程序。这是一个代码片段:

new GestureDetector(
        onLongPress: () {
          showAlert(); 
        //pops up an AlertDialog
        },
        child: new Card(child: new Text("Hello"))
)
Run Code Online (Sandbox Code Playgroud)

是否可以使卡片小部件可触摸,以便用户可以感觉到/看到卡片被(长)点击?我正在搜索“InkWell-something 结果”。

编辑:当我长按它们时,我想在我的卡片小部件上产生飞溅效果。我的意思是飞溅效果的一个例子在下面的 GIF 中给出:

在此处输入图片说明

widget dart flutter

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

在 Flutter 测试中获取小部件的位置?

在 Flutter 测试中如何获取 Widget 的位置?理想情况下是小部件的中心,但左上角坐标也可以。

这是我的测试并尝试在屏幕上查找 Widget 位置的函数。

  testWidgets('Pin is in center of screen', (WidgetTester tester) async {
    await _setUp(tester); // Does setup
    final findPin = find.byKey('pin');
    final pinLocation = _getLocation(findPin.evaluate().first);
    print(ui.window.physicalSize);
    expect(pinLocation.dx, 1200.0);
    expect(pinLocation.dy, 900.0);
  });

Offset _getLocation(Element element) {
  return (element.findRenderObject() as RenderBox).localToGlobal(Offset.zero);
}
Run Code Online (Sandbox Code Playgroud)

对于印刷ui.window.physicalSize(这里uidart:ui包)告诉我的尺寸Size(2400.0, 1800.0)。但是,当我在测试中设置这些中点时,我的测试失败了,说大小实际上是 395.0 和 305.0。我的小部件的大小只有 30.0 x 30.0,甚至 395 +/- 30 也不等于 1200 范围内的任何东西。

在我的测试中,我然后将我的小部件包裹在一个预定义宽度 (400) 和高度 (300) 的容器中,这不是它在实际应用程序中的样子,但为了测试它更接近 - 给出一个“中心” 195 和 155,而它应该是 200 和 …

testing position widget flutter

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

试图理解颤振演示代码中的小部件对象

我只是想学习颤振,颤振演示代码中有一段代码,你在创建一个新的颤振项目时得到的,我不明白:

标题:新文本(widget.title)

我不明白小部件来自哪里,因为它没有在任何地方声明、定义或初始化。它指的是这个文本:

home: new MyHomePage(title: 'Flutter Demo Home Page')

但为什么,这与上下文有关吗?如果它是预定义的,我可以如何以及在哪里使用它。由于 flutter 中的所有内容都是 Widget,因此很难向 Google 提出这个问题。

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> …
Run Code Online (Sandbox Code Playgroud)

widget flutter

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

我在 Flutter 中遇到了一个问题:在构建 TextField 时抛出了以下断言,这让我遇到了一个奇怪的问题

我在 Flutter 中遇到了一个问题:以下断言在构建 TextField 时被抛出,这让我在短时间内遇到了一个奇怪的问题!

对于代码或错误的任何澄清,请在下面评论,我会在几分钟内回复,因为我迫不及待地解决这个问题并没有太多想法继续前进!!

我是一个非常接近 Flutter 编程的意大利男孩,我从这门课程开始。你是我唯一可以称呼的人。我会向任何能解决这个“问题”的人提供玛格丽塔披萨;)!!!

Andoid Studio返回我的错误是这样的:

I/flutter (26182): 以下断言被抛出构建 TextField(controller: I/flutter (26182): TextEditingController#e1688(TextEditingValue(text: ??, selection: TextSelection(baseOffset: -1, I/flutter (26182)) :extentOffset:-1,affinity:TextAffinity.downstream,isDirectional:false),组合:I/flutter(26182):TextRange(开始:-1,结束:-1))),启用:true,装饰:InputDecoration(hintText) :“Materia”),I/flutter(26182):自动更正:true,强制执行最大长度,onTap:空,脏,状态:_TextFieldState#73fdb):I/flutter(26182):找不到材料小部件。I/flutter (26182):TextField 小部件需要一个 Material 小部件祖先。I/flutter (26182):在材料设计中,大多数小部件在概念上都是“打印”在一张材料上的。在 Flutter 的 I/flutter (26182): 材料库中,该材料由材料小部件表示。例如,材质小部件 I/flutter (26182):渲染墨水飞溅。因此,许多材质库小部件需要 I/flutter (26182):它们上方的树中有一个材质小部件。I/flutter (26182):要引入 Material 小部件,您可以直接包含一个小部件,也可以使用包含 I/flutter (26182):材质本身的小部件,例如 Card、Dialog、Drawer 或 Scaffold。I/flutter (26182):找不到 Material 祖先的特定小部件是: I/flutter (26182):I/flutter (26182):要引入 Material 小部件,您可以直接包含一个小部件,也可以使用包含 I/flutter (26182):材质本身的小部件,例如 Card、Dialog、Drawer 或 Scaffold。I/flutter (26182):找不到 Material 祖先的特定小部件是: I/flutter (26182):I/flutter (26182):要引入 Material 小部件,您可以直接包含一个小部件,也可以使用包含 I/flutter (26182):材质本身的小部件,例如 Card、Dialog、Drawer 或 Scaffold。I/flutter (26182):找不到 Material 祖先的特定小部件是: I/flutter (26182):
TextField(controller: …

android widget dart flutter

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