小编ser*_*nko的帖子

qfiledialog - 过滤文件夹?

1)我想获取文件夹监视应用程序的文件夹名称.有没有办法可以过滤掉使用QFileDialog显示的特定文件夹(例如我不希望我的文档显示在文件对话框)..

2)我不希望用户选择驱动器.默认情况下,此代码中也可以选择驱动器..

dirname=QtGui.QFileDialog.getExistingDirectory(self,'Open Directory','c:\\',QtGui.QFileDialog.ShowDirsOnly)
print(dirname)
Run Code Online (Sandbox Code Playgroud)

有没有办法,我可以灰色驱动器或某些特定的文件夹,以便它无法选择或我可以设置文件夹的过滤器,以防止显示它..

qt pyqt qfiledialog

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

使用(Py)GTK调整大小时自动缩放图像

GtkImage在一个可调整大小的窗口中有一个小部件和一个GdkPixBuf存储我想要填充的图像的引用GtkImage.

我可以使用此方法缩放GdkPixBuf以填充GtkImage小部件:

def update_image(self, widget=None, data=None):
    # Get the size of the source pixmap
    src_width, src_height = self.current_image.get_width(), self.current_image.get_height()

    # Get the size of the widget area
    widget = self.builder.get_object('image')
    allocation = widget.get_allocation()
    dst_width, dst_height = allocation.width, allocation.height

    # Scale preserving ratio
    scale = min(float(dst_width)/src_width, float(dst_height)/src_height)
    new_width = int(scale*src_width)
    new_height = int(scale*src_height)
    pixbuf = self.current_image.scale_simple(new_width, new_height, gtk.gdk.INTERP_BILINEAR)

    # Put the generated pixbuf in the GtkImage widget
    widget.set_from_pixbuf(pixbuf)
Run Code Online (Sandbox Code Playgroud)

当我update_image手动调用时,它按预期工作.现在我希望在调整GtkImage小部件时自动进行缩放.我带来的最佳解决方案是将 …

python gtk pygtk

6
推荐指数
1
解决办法
7234
查看次数

在菜单项中嵌入文本框

这是一个概念验证问题。我正在设计一个 GUI,用于在飞行模拟应用程序中编辑空中交通参与者的航路点。在当前的概念中,所选航路点的参数显示在一堆文本框中。该输入掩码既充当数据视图又充当编辑掩码。编辑字段后,用户可以:

  • 保存对路径点的更改
  • 根据输入创建新的路径点

如果仅需要为新路径点更改某些参数子集,则此设计可以避免重新输入数据。

只有一个问题:在哪里插入路径点?我的答案是“另存为新”按钮上的下拉菜单,其中包含以下菜单项:

  • 作为飞行计划的第一个航路点
  • 所选航路点之前的位置
  • 选定航路点后
  • 作为飞行计划的最后一个航点
  • 在索引位置

最后一项是棘手的。索引位置需要由用户输入,我想避免弹出窗口只要求单个值。

我的想法是:将文本框嵌入到菜单项中。

这种方法在 QT 或 wxWidgets 中可行吗?您对 GUI 设计有何看法?

问候,阿恩

PS:请注意,这一切都处于概念阶段。该小组甚至还没有决定使用哪种 GUI 框架:Qt 或 wxWidgets。

qt wxwidgets qt4

5
推荐指数
1
解决办法
2085
查看次数

如何在没有选择的情况下更改QTextEdit中的当前行格式?

那里!我想了解如何在QTextEdit中更改当前行格式?

在文件中,我读到了这一点

"格式化可以使用setCharFormat(),mergeCharFormat(),setBlockFormat()和mergeBlockFormat()函数应用于当前文本文档.如果光标没有选择,则当前块格式将被更改."

但在我的应用程序中,无法更改游标所在的当前块.我可以错过什么吗?那我怎么能改变没有选择的当前块格式呢?

这是我的代码:

QTextCursor cursor = this->textCursor();
QTextBlockFormat blockFmt;
blockFmt.setNonBreakableLines(true);
blockFmt.setPageBreakPolicy(QTextFormat::PageBreak_AlwaysBefore);
QTextCharFormat charFmt;
charFmt.setFont(data->visualFont());
if(!cursor.hasSelection()) {
    cursor.beginEditBlock();
    cursor.setBlockFormat(blockFmt);
    cursor.mergeBlockCharFormat(charFmt);
    QTextBlock block = cursor.block();
    block.setUserData(data);
    cursor.endEditBlock();
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是:如果没有选择,改变当前行的格式.因此,如果cursor.hasSelection()为false,我只是将新格式合并到块字符.但这不起作用.

我也试过添加setTextCorsor(cursor); 在cursor.endEditBlock();之后,但它仍然不起作用.事实上,在添加之后,整个块变得不可见.

那我怎么能改变没有选择的当前块格式呢?

c++ qt qtextedit

3
推荐指数
1
解决办法
5712
查看次数

QWebView自动选项卡

我用QWebView.load(QUrl(myurl))打开一个网页,网页获得一些输入并返回一个新的php生成页面.

如果在Firefox中执行,浏览器会自动打开一个新的选项卡/窗口以显示返回的页面.

如何告诉QWebView打开一个新的QWebview实例并加载返回的数据?

我正在www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwebview.html查看QwebView文档......但没有快乐.

此类页面的示例:http: //www.iqfront.com/index.php?option = com_content&view = article&id = 5&Itemid = 4

谢谢你的任何想法.

qt pyqt pyqt4 qwebview

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

标签 统计

qt ×4

pyqt ×2

c++ ×1

gtk ×1

pygtk ×1

pyqt4 ×1

python ×1

qfiledialog ×1

qt4 ×1

qtextedit ×1

qwebview ×1

wxwidgets ×1