社区
Linux/Unix社区
帖子详情
xwindows里怎么向一个窗口发出event
Anstinus
2005-01-05 11:08:40
就是类似于window中的SendMessage这样的函数,在xwindows下有没有对应的
另外,关于xwindows开发方面的资料在哪里找啊,网上好像都只有一些零散的文章
...全文
307
10
打赏
收藏
xwindows里怎么向一个窗口发出event
就是类似于window中的SendMessage这样的函数,在xwindows下有没有对应的 另外,关于xwindows开发方面的资料在哪里找啊,网上好像都只有一些零散的文章
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seayea
2005-01-12
打赏
举报
回复
补充一句,VS开发最好的资料莫过于MSDN;对于Qt,最好的开发资料应该是assistant和man page吧。
不过中文的讲Qt开发的书太少了。仅有的几本感觉也比较浅~ 网上看到一本《24小时学通Qt》,
评论说都不错。名字是俗了点。不过居然绝版了,当当和china_pub都买不到,书店更没有。很是令人郁闷。
seayea
2005-01-12
打赏
举报
回复
KDE——X Window的一种,就是基于Qt库写出来的。所以Qt库就是你所指的X Window的基础类库(KDE的库应该是再封装了Qt库的吧?)。Qt库有你所指的消息映射功能。
在MFC里头,基础类对象有一些消息处理响应特定的事件——使用postMessage和sendMessage也可以人工触发。
在Qt里头,“基础类”对象有一些“槽”处理特定的信号——也可以使用emit人工触发。任何类(只要包含Q_OBJECT)都会满足信号-槽机制。可以将普通函数定义为信号,或者槽。槽还可以作为信号再触发另外的槽。当然,类似鼠标点击之类的事件全都由类事先定义成为了相应的信号了。
感觉Qt的信号槽机制和MFC的消息映射机制有很多类似的地方,但是Qt更灵活方便。当然,如果读Qt开发的官方文档《C++ GUI programming with Qt3》;你就可以知道Qt的开发者原来就是两个VC的程序员。因此很多MFC的类,将开头的C换成Q,其用法基本上都差不多。比如MFC里有CString、CMessageBox;Qt下面就有QString、QMessageBox。
Qt开发者的初衷就是要写一个真正跨平台的类库。他们做到了,Qt不仅支持Unix/Linux/Mac/Windows,甚至连ucLinux都支持——csdn上搜索的一个文档,作者称QTe甚至是Qt的母集。MFC的功能有多大我们知道,因此Qt的功能有多大我们就不难想象了。
Qt从95年开始真正意义上被人使用,已经得到了巨大的发展。KDE的成功,成就了Qt;而目前X Window
的不足,以及跨平台软件的空白,将会成就更多的人。
好像Java也是跨平台的吧,没接触过,不是狠清楚。然而Qt的编译是兼容VC、C++ Builder、G++的,应该比起JBuilder还是要方便一点吧?
//学习Qt也没有多久,以上观点可能存在不少错误或者片面的地方。欢迎回帖指正。
Anstinus
2005-01-12
打赏
举报
回复
谢谢楼上的,不过我不是指QT
QT已经是很高层的类库了
我是指基本的xwindow函数
已经猜到了……XSendEvent,以前忘记加个X,没找到
Anstinus
2005-01-10
打赏
举报
回复
ding一下
Anstinus
2005-01-06
打赏
举报
回复
程序很简单,不想再把GTK,QT之类的大家伙加进去
难道xwindow基础库会没有提供这种的功能?
msenb
2005-01-05
打赏
举报
回复
同样关注, 寻找志同道合的人一起学习Xwindow ,qq: 9117569 email :li_gh@mail.china.com
coolvc2002
2005-01-05
打赏
举报
回复
linux下开发一般用qt或者gtk(包括gtk+,gtk--或者叫gtkmm)库,一般都用c/c++语言
qt库在linux下的消息是通过:信号槽机制来处理的,gtkmm比较晚才出,对消息的封装比较好,具体可以参考相关文章,qt库的消息通知如下代码:
//用qt库的例子
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton quit( "Quit", 0 );
quit.resize( 75, 30 );
quit.setFont( QFont( "Times", 18, QFont::Bold ) );
QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
a.setMainWidget( &quit );
quit.show();
return a.exec();
}
//QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
//这里quit的clicked()信号和a的quit()槽连接起来了,所以当这个按钮被按下的时候,
//这个程序就退出了。
-----------------------------------------------------------------------------
有空交流了~_~ qq:1040745
autoegg
2005-01-05
打赏
举报
回复
在利用QT Designer设计界面时候可以使用QT库中的slot函数传递。
tb01412
2005-01-05
打赏
举报
回复
你可以在www.gtk.org/www.gnome.org去下载源码,在源里有相应的很多实例。
我可以推荐一种方法:就是用LINUX下C开发的信号函数支持你自定义消息。
Anstinus
2005-01-05
打赏
举报
回复
这是都没有人做过xwindows的程序吗?
x
windows
不能登录问题解决办法
本文详细介绍了在尝试启动X界面时遇到的多个错误及其解决步骤。通过修改ld.so.conf文件并重启服务,解决了共享库缺失问题。对于启动时字体显示错误,文章提供了包括创建特定文件并调整权限在内的完整解决方案。
理解X
windows
本文详细介绍了X
窗口
系统(X
Windows
)的概念、组成、架构、工作过程以及启动流程,特别关注于redhat9.0+gnome环境。通过解析X服务器、客户端和协议之间的交互,解释了如何实现图形应用程序与硬件之间的高效沟通。此外,文章还阐述了X
Windows
的启动机制,包括startx命令的执行过程和测试结果,展示了如何通过简单的命令启动不同的桌面环境和
窗口
管理器。
X window system 從buildroot移植二三事
本文详细介绍了如何将X Window System从buildroot移植到嵌入式硬件,特别是针对ARM平台。必须安装x server(选择/dev/dri模块和kdrive),xinit、xauth和xterm。配置/etc/xorg.conf文件对输入设备如触摸屏至关重要,即使没有该文件也能启动,但可能影响设备加载顺序和速度。在实际案例中,即使/dev/input/
event
0是
一个
鼠标,tslib也能正常工作。值得注意的是,嵌入式系统中字体不是必需的,不安装字体依然可以运行X server。
Input Leap跨平台KVM架构设计:高性能输入共享系统的实现原理
Input Leap是一款开源跨平台KVM软件,采用分层架构与事件驱动模型,支持
Windows
、macOS、Linux和FreeBSD系统。其核心包括平台抽象层、输入状态管理、剪贴板同步、TLS端到端加密及设备指纹验证。通过输入批处理、预测算法、UDP加速、对象池内存管理等技术优化延迟与性能,并具备插件扩展、Wayland适配和云原生集成能力。
计算机操作系统练习题二
计算机操作系统练习题二
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章