小编Jas*_*enX的帖子

Qt:使用QAbstractItemDelegate自定义绘制的每一行上的可点击"按钮"

我想在QListView的每一行上绘制'可点击'图标(或按钮)我正在使用我自己的自定义"QAbstractItemDelegate"派生类进行绘制.这些按钮可能会随着行的自定义状态而改变(我可以在绘制期间访问底层数据结构).

什么是最好的方法来解决这个问题?

qt

7
推荐指数
1
解决办法
3141
查看次数

.NET 2.0/VS2005 - BringToFront()根本不起作用

BringToFront不起作用.在调用之后,我的表单仍然保留在文件浏览器窗口或其下的任何其他窗口下.它清晰可见.它在其他方面很好,但在调用它时它根本不会移动到前台.即使我在之前或之后做过"表演"也没有.

我不能一直有"topMost"的形式.我只是想让它弹出前景,好像有人点击了它的标题.如果在它之后显示其他窗口,它应该在它们之下.

我非常绝望,这个C**p无法工作我正在考虑做一个鼠标点击模拟,将我的窗户/窗体射到前面.

这真的是.NET中的一个错误吗?

.net winforms

7
推荐指数
1
解决办法
2399
查看次数

如果鼠标在其外部单击,则关闭窗口小部件窗口

这有点鸡和蛋的问题.当鼠标点击外面时,我希望我的小部件窗口关闭.据我了解,我的小部件没有鼠标事件,因为在它之外发生了点击.有一个SetFocus插槽,但其对应或焦点丢失在哪里?我没有为我的班级调用"focusOutEvent".

我的窗口小部件窗口是一个窗口小部件的子窗口,它总是显示在我的主窗口上,它是一个"Qt :: ToolTip",所以我认为可能会出现一些问题.有什么方法吗?

我的目标:我有一个自定义工具栏小部件,其上的按钮可能有"下拉"小部件.这些下拉小部件没有标准的窗口框架.我不希望他们从主窗口"窃取"字幕焦点,我希望他们一旦用户点击他们所在地区以外的屏幕上的ANYWHERE就会消失.我很难找到一个在Qt上没有妥协的策略来完成这项工作.

我错过了什么吗?(打赌我).

qt

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

Qt:字体资源适用于正常体重,Bold失败

对于我们的应用程序,我们使用的是Avenir字体.

我们有两个版本:

  1. avenir_light.ttf - 字体的简易版本.
  2. avenir_black.ttf - 字体的粗体版本.

我的系统(Mac OS X中)并没有安装这些字体,因为我想我的dev的机器有一个客户端机器类似的条件.

两种字体都在我们的应用程序资源中 我们通过以下方式加载它们

// returns 0
int id = this->fontDatabase.addApplicationFont(":/fonts/avenir_light.ttf");     

// returns 1        
int id_b = this->fontDatabase.addApplicationFont(":/fonts/avenir_black.ttf");  

// returns "Avenir LT Com"
QString family = QFontDatabase::applicationFontFamilies(id).at(0);   

// returns "Avenir Lt Com" -- same as other font)
QString family1 = QFontDatabase::applicationFontFamilies(id_b).at(0); 

// This will contain two strings:
// "35 Light"
// "95 Black"
QStringList sl = this->fontDatabase.styles(family);

// this returns TRUE
bool isThereBold = this->fontDatabase.bold(family, "95 Black"); …
Run Code Online (Sandbox Code Playgroud)

qt

7
推荐指数
1
解决办法
3316
查看次数

是否可以在Mac Pro上构建Electron Apps?由于怪异的GPU问题,看起来不像

我尝试拉动并尝试为Electron应用程序构建两个不同的引导存储库:

仅按照说明进行操作,以在使用启动应用程序时出现此错误 npm start

AVDCreateGPUAccelerator: Error loading GPU renderer
Run Code Online (Sandbox Code Playgroud)

我正在将Mac Pro与macOS Mojave 10.14.5配合使用。根据我的阅读:Mac Pros(2013年型号)的GPU架构绊倒了Electron / Chromium([出于我以外的原因])。我确实在该计算机上运行了Slack和Atom之类的Electron应用程序而没有出现问题,但是由于某些原因,在Mac Pro上似乎无法构建Electron应用程序。我觉得很奇怪。

能在Mac Pro上开发/构建Electron应用程序我能做些什么,还是Electron平台的官方立场是Mac Pros上无法进行开发?

macos electron

7
推荐指数
1
解决办法
280
查看次数

React、单页应用程序和浏览器的后退按钮

我知道我的问题可能只是“这不能完成,这定义了 SPA 的目的”。但...

mydomain.com在我的 REACT 网络应用程序中导航到。此页面从后端加载数据并填充精心设计的网格。加载和渲染大约需要 2 秒钟。

现在,我单击该详细页面上的链接并导航到mydomain.com/otherPage. 当我单击浏览器的 BACK 按钮返回时mydomain.com,它是空白的,并且必须从头开始重建,因为 SPA 规定必须在每次页面更改时擦除和重建 DOM(至少是页面特定的动态部分,如路由可以在页眉/页脚等的固定布局内)。我明白了...

除了迁移到 nextJS 和使用 SSR ....

在 REACT 中有什么神奇的解决方案可以在导航离开页面时以某种方式“保留”页面的 DOM,以便当您浏览器返回到它时,该页面会立即显示而不是从头开始呈现?

javascript single-page-application reactjs next.js

7
推荐指数
1
解决办法
1827
查看次数

Django 和具有写入实例+多个只读副本的数据库——运行 Celery 作业

我有一个正在生产中运行的 Django 应用程序。它的数据库有主要的写入实例和一些读取副本。我通常DATABASE_ROUTERS根据是否需要读取或写入在写入实例和读取副本之间进行路由。

我遇到了一种情况,由于用户请求,我必须对对象进行一些异步处理。动作顺序是:

  1. 用户通过 HTTPS/REST 提交请求。
  2. 视图创建一个对象并将其保存到数据库中。
  3. 触发 celery 作业以在请求-响应周期之外处理对象并将对象 ID 传递给它。
  4. 发送对请求的 OK 响应。

现在,celery 作业可能会在 10 毫秒或 10 分钟内启动,具体取决于队列。当它最终启动时,celery 作业首先尝试根据提供的 ID 加载对象。最初,我在执行 a 时遇到了问题my_obj = MyModel.objects.get(pk=given_id),因为此时将使用只读副本,如果队列为空并且 celery 作业在触发后立即运行,则对象可能尚未传播到只读副本。

我通过替换为解决了这个问题my_obj = MyModel.objects.get(pk=given_id)--my_obj = MyModel.objects.using('default').get(pk=given_id)这确保了从我的 write-db-instance 读取对象并且该对象始终可用。

然而,现在我遇到了另一个我没有预料到的问题。

my_obj.certain_many_to_many_objects.all()由于 ORM 是惰性的,调用会触发对数据库的另一个调用。该调用在只读副本上完成的。我希望它会坚持我定义的数据库,using但事实并非如此。有没有办法强制所有子元素对象使用相同的 write-db-instance?

django django-models

7
推荐指数
1
解决办法
1466
查看次数

Django 模型、自定义模型管理器和外键——不能很好地协同工作

使用Django 3.2-- 我将尽可能简化问题。

我有三个模型类:

# abstract base class
MyAbstractModel(models.Model)

# derived model classes
Person(MyAbstractModel)
LogoImage(MyAbstractModel)
Run Code Online (Sandbox Code Playgroud)

每个Person都有:

image = ForeignKey(LogoImage, db_index=True, related_name="person", null=True, 
                         on_delete=models.PROTECT)
Run Code Online (Sandbox Code Playgroud)

定义MyAbstractModel了一些模型管理器:

  objects = CustomModelManager()
  objects_all_states = models.Manager()
Run Code Online (Sandbox Code Playgroud)

以及一个state字段,可以是active或者inactive

CustomModelManager 被定义为仅带来状态 == 'active' 的记录:

class CustomModelManager(models.Manager):
    def get_queryset(self):
        return super().get_query().filter(self.model, using=self._db).filter(state='active') 
Run Code Online (Sandbox Code Playgroud)

在我的数据库中,两个表中有两个对象:

Person ID 1 state = 'active'
Image ID 1 state = 'inactive'
Run Code Online (Sandbox Code Playgroud)

Person ID 1Image ID 1通过字段有外键连接Person.image

------ 现在讨论这个问题 ----------------

# …
Run Code Online (Sandbox Code Playgroud)

django django-models

7
推荐指数
1
解决办法
742
查看次数

OSX/Bash - 检测构建失败

直接从bash使用Xcodebuild,如何检测失败?无论如何,退出代码始终为0.我意识到有一个"FAILED"或"SUCCEEDED"纹理输出,但是不是更优雅的方式吗?

此外,我有时使用"make"(尤其是我的基于Qt的版本).有没有办法从构建脚本中检测make失败?

bash xcodebuild

6
推荐指数
2
解决办法
1895
查看次数

OS X上的QT,如何检测单击应用程序Dock图标

我有一个开放的Qt Mac应用程序.我点击了应用程序图标

有没有办法在应用程序中获取此通知?

qt

6
推荐指数
2
解决办法
2898
查看次数