标签: widget

带有列表框的 Tkinter / Python 网格布局

我在使用 Tkinter 和 Python 的网格使所有内容正确排列时遇到一些麻烦。我希望菜单栏位于最顶部,然后有两个列表框(每一侧一个),在窗口中间它们之间有几个按钮。

目前,两个列表框都出现在窗口的右下角,按钮位于左上角,与菜单按钮重叠。

考虑到列表框的大小,如何处理列表框的网格布局。它们可以占据多个网格单元吗?例如,如果我将一个列表框放在 (row = 1,column = 1) 中,另一个放在行 (row = 1,column = 2) 中,Tkinter 会自动加宽单元格,使其成为列表框的宽度,还是会只是重叠列表框?

def __init__(self,root):
    self.frame = Frame(root, width=500)
    self.frame.pack()
    self.BuildMainWindow(self.frame)
    self.ListboxSet = 0 
    self.frame.grid()
    return

#displays the menu bar and options
def BuildMainWindow(self, frame):
    menubar = Frame(frame,relief=RAISED,borderwidth=1)
    menubar.pack()

    mb_file = Menubutton(menubar,text='file')
    mb_file.menu = Menu(mb_file)
    mb_file.menu.add_command(label='open', command = self.openfile)
    mb_file.grid(row = 1, column = 1)

    mb_edit = Menubutton(menubar,text='edit')
    mb_edit.menu = Menu(mb_edit)
    mb_edit.grid(row=1, column = 3)

    mb_file['menu'] = mb_file.menu
    mb_edit['menu'] = mb_edit.menu

#upon selecting …
Run Code Online (Sandbox Code Playgroud)

python user-interface tkinter widget

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

Android:配置小部件(不同小部件实例的相同 setOnClickPendingIntent 附加功能)

我正在做一些 Android 练习,但我在小部件方面遇到了问题:

目标:当用户将新的小部件添加到主页时,应用程序运行一个配置,用户可以在其中选择一个字符串。在配置过程中,必须将该字符串设置为小部件布局内唯一按钮的“文本”,并且在该按钮上应用程序必须设置一个 onclick 侦听器,该侦听器将调用另一个将字符串作为参数传递的活动。因此,当用户单击按钮时,将调用提供按钮文本的活动。主要目标是,如果我有两个小部件,每个小部件都会设置 onclick 侦听器发送不同的字符串作为参数。

代码:

int mAppWidgetId = 0;

if (extras != null) {
   mAppWidgetId = extras.getInt(
   AppWidgetManager.EXTRA_APPWIDGET_ID, 
   AppWidgetManager.INVALID_APPWIDGET_ID);
 }

String thestring = ... //this string is set dynamically by the configuration


RemoteViews views = new RemoteViews(this.getPackageName(), R.widget_profile);


    views.setTextViewText(R.id.buttonWidget, thestring);


    Intent clickIntent = new Intent(this, afterclickactivity.class);
    clickIntent.putExtra("TheString", thestring);

    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, clickIntent, 0);
    views.setOnClickPendingIntent(R.id.buttonWidget, pendingIntent);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this);
    appWidgetManager.updateAppWidget(mAppWidgetId, views);
Run Code Online (Sandbox Code Playgroud)

问题:一切似乎都工作正常,小部件位于主屏幕中,按钮上的文本是用户选择的文本,如果我添加同一小部件​​的 2 个实例,它们根据用户选择具有不同的文本。但是,当用户按下第二个小部件上的按钮时,它会启动“afterclickactivity”,其参数与 widget1 相同,忽略第二个选择的字符串。

它像是:

小部件 1:文本:string1 onclick:callActivity(string1)

小部件 2:文本:string2 …

android widget android-appwidget

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

Durandal 小部件、动态模板部件

我正在使用 Durandal 构建一个向导小部件,我想像这样使用它:

        <div data-bind="wizard: options">
            <!-- Step 1 -->
            <span data-part="step-header-1">
                Step 1
            </span>
            <div data-part="step-content-1">
                step content here
            </div>

            <!-- Step 2 -->
            <span data-part="step-header-2">
                Step 2
            </span>
            <div data-part="step-content-2">
                step content here
            </div>
        </div>
Run Code Online (Sandbox Code Playgroud)

这是实际的小部件(为简洁起见,进行了删减):

<div class="wizard-container">

    <ul class="steps" data-bind="foreach: steps">
        <li>
            <span data-bind="html: heading"></span>
        </li>
    </ul>

    <!-- ko foreach: steps -->
    <div class="wizard-step" data-bind="css: { active: isActive }">
        <div data-bind="html: content">

        </div>
    </div>
    <!-- /ko -->

</div>
Run Code Online (Sandbox Code Playgroud)

我已经让它工作了,使用 jQuery 获取数据部分,将数据部分的内部 HTML 分配给我的步骤模型上的属性,然后使用 html 绑定将内容绑定到每个步骤。这适用于 DOM 方面,但这样做意味着我的步骤内容不会进行数据绑定。我很确定这是因为我使用了 …

javascript jquery widget knockout.js durandal

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

小部件上的 Qt ScrollArea 弄乱了小部件的大小和位置 [Qt 5.1]

我是 Qt 的新手,我想实现一个可以动态增长的可滚动小部件,例如,在按下另一个按钮时向其中添加按钮。我尝试使用以下布局和代码来实现它:

在此输入图像描述

scrollArea = new QScrollArea(ui->outerWidget);
scrollArea->setWidget(ui->innerWidget);
layout = new QVBoxLayout(ui->outerWidget);
ui->innerWidget->setLayout(layout);
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

// code for PushButton to add buttons in innerWidget
void MainWindow::on_pushButton_clicked()
{
    QPushButton *button = new QPushButton("button"+QString::number( nameCounter ));
    nameCounter ++;
    ui->innerWidget->layout()->addWidget(button);
}
Run Code Online (Sandbox Code Playgroud)

当我运行程序时,此实现有两个问题,首先,innerWidget 出现不合适(我在 Qt Creator 的设计模式中定义其位置),其次在布局中添加许多小部件后,滚动条不会增长,而是相反小部件变得更小以适应布局:

在此输入图像描述

另一个线程中,建议将 widgetResizable 设置为 true:

scrollArea->setWidgetResizable(true);
Run Code Online (Sandbox Code Playgroud)

滚动条现在似乎可以工作,但新的问题是innerWidget变得非常小,因此几乎不可见:

在此输入图像描述

那么,如何实现一个符合设计大小和位置的可滚动小部件呢?

layout qt scroll widget

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

Android 小部件:在notifyAppWidgetViewDataChanged 上更改ListView 中的项目布局

ListView如果给出触发器,我想更新 Android 应用程序小部件中的某些项目 a 的布局。所以我getView()在 中的方法中实现了下面的方法RemoteViewsService.RemoteViewsFactory

public RemoteViews getViewAt(int position) {
    ...
    int remoteViewId;

    if (some condition) {
        remoteViewId = R.layout.highlighted_item;
    } else {
        remoteViewId = R.layout.item;
    }

    RemoteViews rv = new RemoteViews(mContext.getPackageName(), remoteViewId);
Run Code Online (Sandbox Code Playgroud)

此代码在首次加载小部件时有效,但在使用notifyAppWidgetViewDataChanged布局进行更新时仍然存在并且不会更改。如何更新用于 ListView 项目的 xml 布局?

layout android listview widget android-listview

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

Android RemoteView textStyle 粗体

此问题与C#使用编写的 Android 小部件有关Xamarin

text style我想为bold小部件布局的元素设置文本视图。更改文本本身效果很好,但我无法设置其他属性。

这是构建更新的方法的一部分

remoteViews.SetTextViewText(Resource.Id.widget_info, nextItemText[1]);
if (element.InProgress)
{
    // this is my try to set textstyle to bold
    remoteViews.SetString(Resource.Id.widget_info, "textStyle", "bold");
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能设置text stylebold

提前致谢!

android widget textview remoteview xamarin

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

从信号的 fft 中找到局部最大值

我正在尝试找到信号的 fft 峰值,以用于进一步分析信号。我正在使用数据的 SpanSelect 并进行 fft,表示为频谱。我真的想让绘图具有交互性,并且用户单击一个点进行进一步分析,但我没有找到一种方法可以做到这一点,所以想要一种找到局部频率峰值的方法。频谱可能如下所示:

频谱图示例

因此,我想要一种方法来返回峰值为 38 Hz 的频率。有没有办法做到这一点?

python signal-processing fft widget matplotlib

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

ckeditor 拖放小部件

我有最新的 ckeditor 版本 4.5.7,带有拖放 API,我有一个情况,我需要将一个小部件从一个编辑器拖放到另一个编辑器。正如这张票所说,建议的功能是静默失败并且不执行任何操作。

ckeditor 票证链接

就我而言,如果将小部件拖动到不同的编辑器,则需要复制小部件;如果将小部件拖动到同一编辑器中,则需要移动小部件。第二种情况已经在工作

关于如何做到这一点有什么想法吗?

editor.on( 'contentDom', function() {
    var dropTarget = CKEDITOR.plugins.clipboard.getDropTarget( editor );
    editor.editable().attachListener( dropTarget, 'drop', function( evt ) {
    // The target may be some element inside the draggable div (e.g. the image), so get the div.h-card.
    var target = evt.data.getTarget().getAscendant( 'div', true );

    // Initialization of CKEditor data transfer facade is a necessary step to extend and unify native 
    // browser capabilities. For instance, Internet Explorer does not support any other data …
Run Code Online (Sandbox Code Playgroud)

drag-and-drop widget ckeditor

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

如何删除文本小部件 tkinter 中的最后一个字符

我正在尝试使以下代码起作用:它的目的是删除名为 _textBox 的文本小部件的最后一个字符(就像键盘上的退格键通常会做的那样)...

def addChar(_textBox, char):
    global charCount
    if charCount <= 15:
        if char == "backSpace":
            _textBox.delete(charCount, END)
            if charCount != 0:
                charCount = charCount - 1
        else:
            _textBox.insert(END, char)
            charCount = charCount + 1
    print(charCount)
Run Code Online (Sandbox Code Playgroud)

看来唯一的问题是代码的“.delete()”部分......

有谁知道我如何正确使用它来仅删除文本小部件中的最后一个字符?

提前致谢 :)

python tkinter widget python-3.x python-3.6

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

有没有办法重建整个应用程序,包括 flutter 项目中的 const 小部件?

在我的 Flutter 项目中,为了提高性能,我创建了许多const小部件,这些小部件在其父小部件重建时不会重建。

但是,在用户更改应用程序的语言后,我需要重建整个应用程序以应用文本更改。

有没有办法强制应用程序完全重建?谢谢,任何建议将不胜感激。

rebuild constants widget flutter

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