问题标签 [paintevent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2900 浏览

c# - DataGridView CellPainting:考虑单元格的内容方向突出显示单元格中的单词

DataGridView情况就是这样:我想通过循环它的s来整体搜索一个单词Row,然后对于每个匹配项,我都会突出显示该单词。我面临的主要不灵活是列有不同System.Windows.Forms.DataGridViewContentAlignment的 s。因此,在单元格中绘制(突出显示)数学单词时,我应该注意单元格的ContentAlignment.

到目前为止,我已经编写了以下代码来查找匹配项

但正如您所见,我目前已设法突出显示至少有一个匹配项的行。我需要一个代码来仅突出显示与我的特定单词(SearchValue)匹配的单元格部分。

我知道我应该使用Event,但考虑到's CellPainting,我不知道如何在 a 中绘制单词CellCellContentAlignment

0 投票
2 回答
2073 浏览

c++ - 使用 Qt 以编程方式绘制线条

我想以编程方式在两点之间的 QLabel 中添加线。根据我的发现,似乎唯一的方法是将 QWidget 子类化以更改 PaintEvent() 受保护的方法。

因此,我从 QWidget 创建了一个新类“QLineObject”。这是我的头文件:

和实现文件:

问题来了。我找不到如何在我的主窗口中添加这个小部件。如果我创建一个新的 QLineObject 实例并调用 show(),它会弹出一个新窗口。我确定我只是错过了一些东西。有人想帮助我吗?我想知道如何从我的主窗口构造函数的其他地方创建和添加它。

谢谢!

0 投票
2 回答
799 浏览

python - 如何停止paintEvent 绘制子小部件?

我正在尝试将圆角添加到QDialog. 我正在定义自己的paintEvent方法来创建圆角。它正在工作,但它为所有内容添加了圆形边框。甚至光标也有边框。有什么办法可以禁用这种行为?

示例代码:

我正在尝试这样做,paintEvent因为:

  • QDialog 样式表不能使用border-radius. 弯曲的边框确实出现了,但角落仍然可见。
  • QDialogs.setMask()有效,但没有办法(据我所知)对面具进行抗锯齿处理。

看起来是这样的:

无处不在的边界

0 投票
1 回答
1678 浏览

c++ - Qt 5.2 调用 QTableWidget::update 不会导致 QTableWidget::paintEvent

我有一个问题:调用 QTableWidget::update 不会导致 QTableWidget::paintEvent。

简要说明: - QTableWidgetEx - 派生自 QTableWidget 的类,覆盖了paintEvent 。- 一些代码创建 QTableWidgetEx 和两个菜单项 'call_update' 和 'check_paint_cnt'

测试顺序

  • 单击“check_paint_cnt” - 状态栏显示“paint_cnt = 1”(因此调用了paintEvent)
  • 点击“call_update”
  • 再次单击“check_paint_cnt” - 状态栏显示“paint_cnt = 1”,但应该是 2...(不调用paintEvent)
  • 调整窗口大小确实会增加paint_cnt,因此该函数被成功覆盖并且有时会被调用,但不会与更新或重绘一起调用。

(小型测试应用程序 - 下面。测试项目为空 Qt 项目,由向导(Qt 5.2)创建:http ://s000.tinyupload.com/index.php?file_id=57865294773039719910 - 完整源代码。)

我测试了“重绘”而不是“更新”——它给出了相同的结果。

问题:文档说 QTableWidget::update 应该触发 QTableWidget::paintEvent,但它没有我做错了什么?

我也测试过,结果相同(不工作):

  • 更新(矩形)
  • 重绘,重绘(矩形)
  • 更新几何()
  • w->resize(w->width(), w->height());

好的解决方法是:

而不是 w->update() 使用 wa_widget_update(w)。有点难看但有效。 将此错误报告给 qt 项目: 链接到 bugtracker

完整来源:

0 投票
1 回答
1489 浏览

java - 如何更改 SWT 进度条的颜色?

是否可以使用绘图侦听器更改进度条颜色?

我不想要一个初始的前景和背景颜色,而是希望它像正常的绿色进度条在 Windows 上的工作方式一样工作,但具有我自己的前景和背景。

我尝试了下面的代码,但它不起作用

我坚持这个要求,并被告知可以使用绘画监听器,想知道如何!

任何帮助,将不胜感激。

0 投票
0 回答
147 浏览

qt - 在 Qt 中绘制小​​部件

我一直在寻找整个互联网,但我没有找到任何解决我的问题的方法,所以我有一个这样的栏:

带有处理程序图片的滚动条

(带有处理程序图片的滚动条)

但是当我滚动图片时,会发生以下情况:

在此处输入图像描述

有没有办法停止在快乐的脸上画悲伤的脸?

这是paintEvent方法

这是我的mouseMoveEvent

0 投票
1 回答
3024 浏览

user-interface - JavaFX 中的自定义节点绘制

在 PySide 中,您可以覆盖paintEvent()a 的方法QWidget来控制小部件在屏幕上的绘制方式。NodeJavaFX中是否有等价物?


在上下文中:我需要一种在屏幕上显示自定义图像格式的方法。不断转换我的格式和 JavaFXImage以便我可以显示它对ImageView我来说太慢了,而且更混乱。

我看过ImageView.javaand Canvas.java,但没有运气。ImageView正在使用 css,并且Canvas似乎正在使用已弃用的impl_方法做某事,对此我没有找到任何文档。

谢谢!

0 投票
1 回答
858 浏览

pyqt - 如何避免 mousePressEvent - 在 PyQt 中左键单击调用paintEvent

在下面的这个程序中,我正在测试 mousePressEvent 的影响:

我看到在第一次左键单击中,调用了框架的paintEvent。这是因为当框架获得焦点时,需要重新绘制?我想知道是否有任何方法可以避免调用paintEvent 并且框架中的每幅画都完好无损。原因是因为在我的实际程序中,paintEvent 真的很重,我想尽可能少地运行它。

如果这是不可能的,有没有办法在左键单击时避免框架获得焦点?

0 投票
2 回答
5809 浏览

c# - 如何在 .Net WinForms 控件上绘制自定义边框

我一直在尝试为现有的 .Net WinForms 控件绘制自定义边框。我通过创建一个类来尝试此操作,该类从我想更改其边框颜色的控件中,然后在绘画过程中尝试几件事。我尝试了以下方法:

1. 抓住WM_NCPAINT。这有点工作。下面代码的问题是,当控件调整大小时,边框会在右侧和底部被切断。不好。

2. 覆盖void OnPaint。这适用于某些控件,但不是全部。这也需要您设置BorderStyleBorderStyle.None,并且您必须手动清除油漆上的背景,否则在调整大小时会出现此问题

3. 覆盖void OnResizeand void OnPaint(如方法 2)。这样,它可以很好地调整大小,但不是在启用面板时,在这种情况下,向下滚动时AutoScroll它将看起来像这样。如果我尝试使用WM_NCPAINT绘制边框,Refresh()没有任何效果。

建议非常受欢迎。对于多种类型的控件,我想知道最好的方法是什么(我必须为多个默认的 WinForms 控件执行此操作)。

0 投票
1 回答
178 浏览

java - Java 绘制“口吃”-list 并发

我的一个应用程序通过读取数组列表将对象绘制到屏幕上:

简单的代码总结:

问题是每次用户单击鼠标时我都会添加更多对象,因此如果用户单击得足够快,我可能会导致程序绘画结结巴巴,因为它在写入时无法读取(arrayList 是同步的)。开发人员用来处理这个并发问题的常见做法是什么?

编辑:这是调用重绘的代码:

* where operations() 计算“可绘制”对象属性的变化,删除满足特定条件的对象并将新对象添加到绘制列表中。从逻辑上讲,添加和写入应该分开吗?如果没有足够的信息,我可以发布操作()方法,但我尽量不发布大量代码,以便更容易解释。