标签: wxwidgets

在wxWidgets中启用OpenGL

我安装了wxWidgets源代码,编译它并将这样获得的库与我的应用程序代码链接起来.现在我需要在我的wxWidgets应用程序中使用OpenGL.我如何启用此功能?

opengl wxwidgets

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

如何确定字符串的大小,在wxWidgets中给出当前字体

有没有办法根据(C++)wxWidgets中当前选择的字体确定给定字符串的显示长度(以像素为单位)?

例如,如果我打印出字符串"Speed:"并希望在':'和即将关注的值之间放置10个像素,我需要知道"Speed:"字符串的长度.有没有办法确定这个?我似乎无法在API文档中找到任何内容,但我可能会遗漏一些东西.

c++ wxwidgets

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

基本的wxWidgets计时器

作为wxWidgets的新手,我需要一些示例代码来说明如何使wxTimer工作.

该引用提供了3种使用它的方法,但不包括任何方法的示例代码.最理想的是,我想让方法2工作.

wxwidgets timer

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

当a和b都为True时,为什么我的<a>和<b>如果有条件不能执行?

编辑:这是我的错字.出于某种原因,我无法在GetEventObject之后看到缺少parantheses.

码:

   def onKeyDown(self, event):
        ESC_list = [self.topic_control,self.search_control]
        print event.GetEventObject() in ESC_list
        keycode = event.GetKeyCode()
        print keycode == wx.WXK_ESCAPE
        if keycode == wx.WXK_ESCAPE and event.GetEventObject in ESC_list:
            print "fire"
            self.onExit(event)
        event.Skip()
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,两个print语句都给我"True",if条件不执行.是什么赋予了?

python wxwidgets wxpython if-statement

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

正则表达式之间的所有东西,Python

为什么这个正则表达式不起作用?

import re
i="<wx._controls.Button; proxy of <Swig Object of type 'wxButton *' at 0x2d040b0> >"
m = re.match("controls(.*)[;]", i)
if m:
    print m.group(1)
Run Code Online (Sandbox Code Playgroud)

它什么都不返回.我试图让一切介于两者之间,"控制"和";" 此解决方案适用于其他测试用例,但不适用于此测试用例.

python regex wxwidgets wxpython

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

WxWidgets符号解析和链接

我正在尝试使用WxWidgets库将GUI添加到我的程序中.我还有一个头文件,我把所有#include语句放在那里("All_Headers.h").

我添加了一个头文件,其中包含一个简单的WxFrame(Hello world like)到头文件("GUI.h")中.

问题是如果我把(#include"GUI.h")放在All_Headers.h中我得到以下错误:(Kernel.obj和Crystall_Builder.obj是我的目标文件)

    1>Kernel.obj : error LNK2005: "protected: static struct wxEventTable const MyFrame::sm_eventTable" (?sm_eventTable@MyFrame@@1UwxEventTable@@B) already defined in Crystall_Builder.obj
    1>Kernel.obj : error LNK2005: "protected: virtual struct wxEventTable const * __cdecl MyFrame::GetEventTable(void)const " (?GetEventTable@MyFrame@@MEBAPEBUwxEventTable@@XZ) already defined in Crystall_Builder.obj
    1>Kernel.obj : error LNK2005: "protected: virtual class wxEventHashTable & __cdecl MyFrame::GetEventHashTable(void)const " (?GetEventHashTable@MyFrame@@MEBAAEAVwxEventHashTable@@XZ) already defined in Crystall_Builder.obj
    1>Kernel.obj : error LNK2005: "public: __cdecl MyFrame::MyFrame(class wxString const &,class wxPoint const &,class wxSize const &)" (??0MyFrame@@QEAA@AEBVwxString@@AEBVwxPoint@@AEBVwxSize@@@Z) already defined in Crystall_Builder.obj
    1>Kernel.obj : error LNK2005: …
Run Code Online (Sandbox Code Playgroud)

linker wxwidgets symbols

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

当 wxPython 框架被调整大小时,最简单的监控方法是什么?

我想知道何时调整了框架的大小,以便我可以保存大小并在下次启动应用程序时记住它。这是我的on_resize方法:

def on_resize(self, event):
    logic.config_set('main_frame_size',
                     (event.Size.width, event.Size.height))

    event.Skip()
Run Code Online (Sandbox Code Playgroud)

它是这样绑定的:

self.Bind(wx.EVT_SIZE, self.on_resize)
Run Code Online (Sandbox Code Playgroud)

问题是性能。为了安全起见,我的逻辑模块会在每次设置更改时保存配置文件,并且每次触发调整大小事件时都写入配置文件会影响性能。

当用户完成调整框架大小时,最好/最简单的监视方法是什么


更新

我的config_set功能:

def config_set(key, value):
    """Set a value to the config file."""
    vprint(2, 'Setting config value: "{}": "{}"'.format(key, value))

    config[key] = value

    # Save the config file.
    with open(config_file_path, 'w') as f:
        pickle.dump(config, f)
Run Code Online (Sandbox Code Playgroud)

python wxwidgets wxpython

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

wxPython选中并取消选中复选框

是否可以选中/取消选中wxPython中的复选框?例如:

my_checkbox = wx.CheckBox(my_sizer, wx.ID_ANY, _("My Check Box"))
self.bind(EVT_BUTTON, my_button_func, my_button)
def my_button_func(self, event):
    mycheckbox.Check()
Run Code Online (Sandbox Code Playgroud)

或者类似的东西,我可以随意检查/取消选中该框.

python wxwidgets wxpython

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

具有Bind()的wxButton的事件处理函数-wxWidgets 3.0

我正在尝试创建一个简单的基本应用程序,以wxWidgets开始。我已经可以设置框架并在其上放置菜单,菜单项和按钮,并且它们都可以正确显示。

但是我在使用Bind()将事件处理程序附加到按钮时遇到了麻烦。剥离一下代码,我有这个:

class MainFrameFunctions
{
public:
void buttonOneClicked(wxCommandEvent & event);
};

void MainFrameFunctions::buttonOneClicked(wxCommandEvent & event)
{
// do something
}

MainFrame::MainFrame(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint& , const wxSize& , long style, const wxString& ) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, size1)
{
wxButton * buttonOne = new wxButton( panelOne, buttonOneID, wxT("Show Box"), wxPoint(70,50), wxSize(200,40) );
}
Run Code Online (Sandbox Code Playgroud)

因此,我想知道如何使用Bind()创建事件处理程序,以将处理程序功能“ buttonOneClicked”连接到buttonOne?还有,我在代码中的什么位置放置Bind()行?

编辑

经过VZ的推荐。我对该程序进行了一些编辑,因此主要组件现在看起来像这样:

class MainFrame: public wxFrame
{
public:
MainFrame(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint  

    &pos=wxDefaultPosition, const …
Run Code Online (Sandbox Code Playgroud)

c++ events wxwidgets button event-handling

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

在gnuradio中将鼠标悬停在FFT接收器上时缺少弹出窗口

我一直在观看迈克尔·奥斯曼关于伟大斯科特小工具SDR的视频指南.在他的视频中,他在TTF水槽上盘旋,显示频率,功率和TTF.如果我在OS X上这样做,我不会得到这个黄色弹出窗口 - 除了我的TTF接收器看起来不同的事实.

这是gnuradio中的设置,还是OS X问题?我正在运行gnuradio 3.7.9.1.

视频截图: 他的

我的应用截图: 矿

编辑:似乎安装pyopengl解决了这个问题,因为WX正在回归"某事".使用pip install pyopengl安装它并重新启动gnuradio.

用pyopengl

wxwidgets gnuradio software-defined-radio gnuradio-companion

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