X11上的编辑框
Edit box on X11
有什么方法可以在普通X11 C或C 代码中使用一个简单的编辑框?
由"普通X11 C或C 代码"我的意思是在XCreateSimpleWindow
创建的窗口上创建控件,为win32 API中的CreateWindow("edit"..)
等效。
如果没有,我的选择是有什么选择的简单编辑框,其中一个简单的依赖量(即请不要QT)对于简单的编辑框输入对话框?
普通X11没有这样的功能 - 它是A 低级窗口工具包(打开和维护Windows,接收输入事件,绘制到Windows)。
如果您准备从可用的原始词编写这样的编辑窗口,那么您就可以了。如果没有,您需要使用一些为您使用的工具包。提供此类功能的最简单,最轻巧的人可能是雅典娜小部件(如果您对外观和感觉并不特别选择)。
x11是一个非常低的级别协议。它提供了创建单个窗口,借鉴它们并接收单个输入事件的能力,仅此而已。就是这样。
提供高级用户界面(例如编辑框)的工作是针对QT或GTK等更高级别的工具包。这些是最常见的工具包。
也有一些人口较少的人。,但最重要的是,您没有任何"编辑控件",您可以使用Xlib(您用于谈论X11协议的库)获得。如果您想要的唯一依赖性是Xlib,那么使用您自己的代码实际上实现了编辑控件。如果您不想使用任何常见的字体处理库,例如fontconfig和freetype,则必须编写代码以枚举X服务器的内置字体,处理键盘输入并绘制编辑控件。只是将X11中使用的某种晦涩的键盘编码转换为可用的东西,例如UTF-8或Unicode的工作,将采用几百行代码。
因此,这里的答案是:使用QT或GTK。
作为x小部件的低级替代方案,您可以使用XAW库或Motif Library或Xforms库。
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 编辑文件中的文本
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- SetDlgItemInt 不会更改嵌入资源的编辑框
- 为什么 KMS drmModeSetCrtc() 在 X11 会话中运行时会失败并被拒绝权限?
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- C++,Qt:仅在双击后编辑qtablewidget项目
- 编辑字符串以包含括号 c++ 之间的变量
- Arduino函数无法编辑数组
- 调试符号中缺少 QObject 类信息(编辑但存在其他 Qt 类)
- "未定义对'WinMain@16'的引用"gcc 编辑器中的错误
- C++MFC编辑框处理双击
- 是否可以使用指针访问变量以避免直接编辑变量?
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 在 c++ 中编辑注册表项
- 无法将行编辑中的文本打印到 Qt C++ 中的标签
- 尝试使用 CMake 和 MinGW64 进行构建时出现多个编辑错误
- 如何从C++而不是虚幻编辑器中添加静态网格体组件的值?
- UE4 - Visual Studio在我从编辑器添加新的c ++文件后无法打开任何源文件 - UBT_COMPILED
- X11上的编辑框