我使用wxWidgets在工作中创建测试工具.我总是通过在代码中创建小部件来创建GUI.我没有尝试任何可用的工具来帮助这样做.wxWidgets的其他用户通常如何创建他们的界面?如果您使用工具,您使用哪个工具?如果您使用工具,您认为使用该工具有哪些优点和缺点?
我正在使用 XCode 3.2 在 MacOS X 10.6 上编译一个简单的 wxWidgets 应用程序
链接器返回关于符号_main被定义两次的错误:
在我注释掉宏之后:
Implement_App(TestApp)
Run Code Online (Sandbox Code Playgroud)
错误消失了,编译并链接,我能够运行应用程序。
我还没有在任何地方找到这个,所以对此有什么想法吗?
目前我正在尝试编写自己的wxObject,我希望该类基于wxTextCtrl类.
目前这就是我所拥有的:
class CommandTextCtrl : public wxTextCtrl {
public:
void OnKey(wxKeyEvent& event);
private:
DECLARE_EVENT_TABLE()
};
Run Code Online (Sandbox Code Playgroud)
然后,我有这行代码,这是不喜欢的:
CommandTextCtrl *ctrl = new CommandTextCtrl(panel, wxID_ANY, *placeholder, *origin, *size);
Run Code Online (Sandbox Code Playgroud)
...当我尝试编译程序时,我收到此错误:
error: no matching function for call to ‘CommandTextCtrl::CommandTextCtrl(wxPanel*&, <anonymous enum>, const wxString&, const wxPoint&, const wxSize&)’
Run Code Online (Sandbox Code Playgroud)
它似乎没有使用wxTextCtrl继承构造函数方法.有没有人碰巧知道它为什么不继承构造函数?
在此先感谢您的帮助!
有一些人吗?我有一些关于wxpython的问题,我可以使用没有框架的面板吗?
我将开始研究一个新项目.这是一款使用OpenGL for Windows,Linux和Mac OS X的3D游戏.我将需要一个用于GUI,窗口和处理输入的库.我最终有3个选择Qt,WxWidgets和GTK +.所有这些都是LGPL许可证.
1- LGPL是否允许使用这些库来制作专有应用程序?
2-这3个申请中哪一个最适合我?
我正在尝试使用wxWidgets 2.9.3编译WxWidgets的应用程序.我在Linux下编译相同的源很好,我认为主要的错误是:
#error "Carbon does not support 64bit"
Run Code Online (Sandbox Code Playgroud)
我没有得到如何正确设置.编译我使用了以下命令:
g++ hellomac.cpp -o hellomac `/opt/bin/wx-config --cxxflags --libs`
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?/ opt/bin是我安装wxWidget的地方.我的OSX版本是10.6.8
如何用wxWidgets下载C++文件?
谷歌搜索,一切都没有出现!帮助赞赏!
我正在使用wxPython中的多个wx.Choice控件,并且我需要使用“重置”按钮来单击时恢复默认选项“-选择-”。无法实现这一点,我最近来的就是将其重置为空选项,这不是我们想要的。我希望按下重置按钮时出现默认选项“-选择-”。请参阅下面的代码。
data.py
import wx
class MyFrame1 ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 250,300 ), style = wx.CAPTION|wx.CLOSE_BOX|wx.MINIMIZE_BOX|wx.SYSTEM_MENU|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
DataBox = wx.BoxSizer( wx.HORIZONTAL )
gSizer2 = wx.GridSizer( 0, 2, 0, 0 )
self.Color_Label = wx.StaticText( self, wx.ID_ANY, u"Color:", wx.DefaultPosition, wx.DefaultSize, 0 )
self.Color_Label.Wrap( -1 )
self.Color_Label.SetFont( wx.Font( 13, 70, 90, 90, False, wx.EmptyString ) )
gSizer2.Add( self.Color_Label, 0, wx.ALL, …Run Code Online (Sandbox Code Playgroud) 当我看到这段代码时,我通过了wxWidgets的来源
class WXDLLIMPEXP_FWD_CORE wxKeyEvent;
Run Code Online (Sandbox Code Playgroud)
在此之后,他们定义了这样一个类
class WXDLLIMPEXP_FWD_CORE wxKeyEvent : public wxEvent{
//some code
};
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,有一个空格,但在命名类时你不能拥有它,我进一步编写了这个编译成功的小代码.
#include <bits/stdc++.h>
using namespace std;
class a
{
public:
int x;
};
class a b
{
// it fails if i add anything there
};
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我在class a b中添加一些东西时,这无法编译.你能告诉我发生了什么事吗?
谢谢!
我用以下命令编译wxWidgets-3.1.0:
C:\wxWidgets-3.1.0\build\msw>mingw32-make -f makefile.gcc
if not exist ..\..\lib\gcc_lib\mswud mkdir ..\..\lib\gcc_lib\mswud
gcc -c -o gcc_mswud\wxtiff_tif_win32.o -g -O0 -mthreads -DHAVE_W32API_H -DNDEBUG -I..\..\src\zlib -I..\..\src\jpeg -I..\..\src\tiff\libtiff -MTgcc_mswud\wxtiff_tif_win32.o -MFgcc_mswud\wxtiff_tif_win32.o.d -MD -MP ../../src/tiff/libtiff/tif_win32.c
In file included from ../../src/tiff/libtiff/tiffio.h:257:0,
from ../../src/tiff/libtiff/tiffiop.h:59,
from ../../src/tiff/libtiff/tif_win32.c:30:
c:\mingw\include\stdio.h:345:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__mingw__snprintf'
extern int __mingw_stdio_redirect__(snprintf)(char*, size_t, const char*, ...);
^
makefile.gcc:6018: recipe for target 'gcc_mswud\wxtiff_tif_win32.o' failed
mingw32-make: *** [gcc_mswud\wxtiff_tif_win32.o] Error 1
Run Code Online (Sandbox Code Playgroud)
我找了解决方案的链接,这没有帮助.
也遵循这一点,但得到不同的错误:
c:\mingw\include\stdio.h:345:12: error: expected '=', ',', ';', 'asm' or …Run Code Online (Sandbox Code Playgroud) 我需要从WxWidget转换DateTime
Fri Sep 28 00:00:00 2018
Run Code Online (Sandbox Code Playgroud)
为另一种格式:
28/09/18 20:35:00
Run Code Online (Sandbox Code Playgroud)
但我找不到任何事要做
使用 wxSmith,我有一个包含许多按钮的对话框,这些按钮需要相同的事件处理程序,但当然会作用于它们自己的数据实例。
以前使用 C++ 构建器时,我会在小部件的标签字段中放置一个标识符字符串。然后,我将有一个函数来迭代所有小部件,并使用字符串作为构造函数来创建自定义对象,并将指向该对象的指针放置在标记字段中。
这样,通用事件处理程序可以简单地转换标签字段来获取知道如何处理事件的自定义特定实例。
其他 GUI API,例如 Visual Basic,更简单,但允许控件数组或索引,并且通过引用索引来调用事件,因此此类事情仍然可以使用数组完成。
到目前为止,我可以看到将附加信息与 wxWidget 关联起来的唯一方法是将其继承到我自己的自定义控件中,但我担心这会破坏与 wxSmith 的兼容性。
有人知道一种优雅的方法吗?
wxwidgets ×13
c++ ×5
wxpython ×3
gtk ×2
python ×2
constructor ×1
download ×1
events ×1
gui-designer ×1
inheritance ×1
lgpl ×1
macos ×1
mingw ×1
opengl ×1
python-2.7 ×1
python-3.x ×1
qt ×1
wxtextctrl ×1