草庐IT

choice_widget

全部标签

c++ - Qt Widget - 如何只捕获几个键盘键

我知道使用grabKeyboard()我的小部件即使没有获得焦点也能够捕获每个键盘事件,但是如果我只想捕获三个或四个键怎么办?我尝试使用事件过滤器https://doc.qt.io/qt-5/qobject.html#installEventFilter但这没有用(也许是因为我是这样安装的?)classMyWidget:publicQGLWidget{...protected:booleventFilter(QObject*o,QEvent*e);};boolMyWidget::eventFilter(QObject*o,QEvent*e){if(e->type()==QEvent::

c++ - 我如何在wxWidgets中通过id获取一个widget?

我对C++和wxWidgets很陌生。wxTextCtrl*text=newwxTextCtrl(panel,SOME_ID);我的问题是如何通过ID获取该文本控件。我想在不同的范围内改变它的值(value)。我是否需要保留指向每个可能更改其状态的小部件的指针,或者是否有办法从其ID获取该指针?这可能是一个简单的问题,但我想我找不到正确的搜索词来找到答案。 最佳答案 您可能需要静态函数wxWindow::FindWindowById.它返回一个普通的wxWindow指针,因此您必须将它转换为您的示例的wxTextCtrl指针。

c++ - Windows XP 样式 : Why do we get dark grey background on static text widgets?

我们正在使用C++和Win32编写Windows桌面应用程序。我们的对话框具有“WindowsXP风格”的丑陋外观:静态文本的背景是灰色的。对话框背景也是灰色的,这不是问题,但是在选项卡控件中,背景是白色的,文本的灰色背景非常明显。过去我们自己绘制了很多控件,但现在我们正在尝试尽可能多地使用标准外观,并尽可能避免覆盖标准行为。我们使用的是Win32API,它有点过时了,但我认为即使使用ATL也会出现问题。我们正在创建一个DIALOGTEMPLATE。文本位于“静态”控件(0x0082)中。我们为样式设置的唯一标志是“SS_LEFT”。文本控件位于选项卡控件内:“SysTabContro

c++ - 如何在 Qt Widget 中重新定义 Z-Order

我有两个Widget有单独的实现。他们是……MessageInboxUiComposeMessageUi两者都将全屏显示。在主窗口中,我按以下顺序添加了两个小部件ComposeMessageUi*ptrEditor=newComposeMessageUi(this);//theseareinsideMessageInboxUi*ptrInbox=newMessageInboxUi(this);//MainWindowConstructor所以当我在显示MessageInboxUi时调用ComposeMessageUi的show函数时,它不显示(因为它显示在MessageInboxUi后

c++ - Qt:如何检测一个widget是否被选中?

我没有看到任何信号/槽/函数可以告诉我鼠标是否选择了一个小部件?有没有可能有这样一个函数告诉我当前QWidget是否被选中?我如何区分“选择了当前小部件”和“选择了它的一个子小部件?” 最佳答案 您可以使用hasFocus()函数检查小部件的焦点。focus属性保存小部件是否具有键盘输入焦点。您还可以使用QApplication::focusWidget()获取具有焦点的应用程序的当前小部件。您可以获得指向焦点小部件的指针,例如:QWidget*fw=qApp->focusWidget();当焦点小部件改变时QApplication

c++ - 如何对 std::shared_ptr<Widget> 对象的容器进行排序?

classWidget;std::vector>containerclassCriterium{public:booloperator()(constWidget&left,constWidget&right)const;};如何根据标准对容器进行排序,无需定义另一个标准,例如:classCriteriumForPointers{public:booloperator()(conststd::shared_ptr&left,conststd::shared_ptr&right)const;}; 最佳答案 您可以使用lambda作为适

QT第一个程序命名空间详解,解释ui_widget的和xxx.cpp的联系

首先需要回顾一下cpp命名空间知识;扩展命名空间:一个文件中书写了两个相同名字的命名空间,第二个命名将作为第一个命名空间的补充例如:第一个Ui命名空间是一个前置声明;第二个Ui是具体定义,就跟函数声明和函数名义一模一样以上代码等价于一下代码:进入正题:ui_xxxx.h文件有一个命名空间Ui,其中定义了一个类MainWindow继承字Ui_MainWindow,这样就具有UI_MainWindow所有特征了。其中还有两个宏QT_BEGIN_NAMESPACE与QT_END_NAMESPACEQT_BEGIN_NAMESPACE:这是一个Qt框架中的宏,它标志着命名空间的开始。它实际上被定义为{

智能小程序小部件(Widget)导航、地图、画布等组件,以及开放能力、原生组件说明

智能小程序小部件(Widget)导航、地图、画布等组件,以及开放能力、原生组件说明。导航组件 navigator页面链接,控制小程序的跳转。navigator子节点的背景色应为透明色。属性说明属性名类型默认值必填说明urlstring是跳转地址deltanumber1否当open-type为'navigateBack'时有效,表示回退的层数open-typestringnavigate否跳转方式,详情参见后面的说明hover-classstringnavigator-hover否指定点击时的样式类,当hover-class="none"时,没有点击态效果类hover-start-timenum

iOS Today Widget Extension - 检测屏幕是否被锁定

我有一个显示计时器的今日扩展。我想在屏幕锁定时暂停计时器,但不知道如何检测屏幕是否锁定。我试过这样做,但即使屏幕锁定,文件也始终可读:Findingoutifthedeviceislocked,fromaNotificationWidget我能够在我的应用程序中使用它来执行此操作,但无法在小部件中实现它:HowcanIdetectscreenlock/unlockeventsontheiPhone? 最佳答案 TodayExtensions的工作方式是,它们不会在通知中心关闭时执行。当TodayExtension不再可见时,方法vi

c# - NSUrl 请求在 Xamarin Today Widget 中不起作用

大家好,我正在使用C#在Xamarin中开发TodayWidget,它会打开安装在iPhone上的某个应用程序。我正在使用NSUrl请求来执行此操作,但是当我运行小部件并单击它说无法加载的按钮时这是我的代码:usingFoundation;usingSystem;usingSystem.CodeDom.Compiler;usingUIKit;usingNotificationCenter;namespaceToolBelt{partialclassToolBeltView:UIViewController{publicToolBeltView(IntPtrhandle):base(ha