小编Gia*_*rlo的帖子

在QT应用程序中嵌入应用程序(在这种情况下是终端)

我正在编写一个QT应用程序,我需要在QDialog中嵌入一个终端(我们说,xterm),就像一些KDE应用程序(参见kdevelop/kate/...).

我一直在尝试: - QX11EmbedContainer放入我的QDialog的QLayout - QProcess我想要的程序

我希望QProcess在QX11EmbedContainer中运行,但它不起作用.

问题是我不能把xterm放到QX11EmbedContainer中,我唯一得到的是一个xterm窗口(不幸的是与我的QDialog分开).有没有人遇到同样的问题?

linux x11 qt kde xterm

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

是否可以在QTreeWidget列中对数字进行排序?

我有一个QTreeWidget,列中填充了一些数字,我该如何对它们进行排序?

如果我使用setSortingEnabled(true); 我只能正确排序字符串,所以我的列被排序:

1 10 100 2 20 200

但这不是我想要的!建议?

linux sorting qt qtreewidget qtreewidgetitem

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

通过pypdf在pdf文件上读/写xmp metadatas

我可以通过pyPdf使用以下代码读取xmp元数据:

a = pyPdf.PdfFileReader(open(self.fileName))
b = a.getXmpMetadata()                      
c = b.pdf_keywords 
Run Code Online (Sandbox Code Playgroud)

但是:这是最好的方法吗?

如果我不使用pdf_keywords属性?

有没有办法用pyPdf设置这些metadatas?

python pdf xmp metadata pypdf

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

如何在QTreeWidget中找到所选项?

我有一个继承QTreeWidget的类.如何找到当前选定的行?通常我会以这种方式将信号连接到插槽:

connect(myButton, SIGNAL(triggered(bool)), this, SLOT(myClick()));
Run Code Online (Sandbox Code Playgroud)

但是,我找不到类似的东西QTreeWidget->QTreeWidgetItem.我找到的唯一方法是重新定义QTreeWidget类的mousePressEvent,如下所示:

void MyQTreeWidget::mousePressEvent(QMouseEvent *e){
    QTreeView::mousePressEvent(e);
    const QModelIndex index = indexAt(e->pos());
    if (!index.isValid())
    {
    const Qt::KeyboardModifiers modifiers = QApplication::keyboardModifiers();
    if (!(modifiers & Qt::ShiftModifier) && !(modifiers & Qt::ControlModifier))
    clearSelection();
    }
 }
Run Code Online (Sandbox Code Playgroud)

我还没试过.是唯一的解决方案还是有更简单的方法?

c++ events qt kde treewidget

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

如何访问qt上的父窗口小部件?

我有一个继承的QTreeWidget(称为PackList)类,其父级是KXmlGuiWindow.如何访问父母的插槽?

我已经尝试过来自QTreeWidget类的getParent() - > mySlot()但是我已经有了

error: no matching function for call to 'PackList::mySlot()'
Run Code Online (Sandbox Code Playgroud)

有人知道正确的方法吗?谢谢

c++ linux qt kde

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

在QWidget上安装EventFilter(qt4.4.3/kde4)

我有一个K*窗口,在其中,需要过滤事件的窗口小部件.

例如,我不想点击它的可能性......

我怎样才能做到这一点?

我有没有使用eventfilters?在这种情况下,最好的方法是什么?


但我的问题是我无法子类化我的小部件,因为它是一个TerminalInterface-> widget(),而不是像其他人一样的对象:\

qt kde widget event-handling

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

谷歌地图js api版本3 infowindow故障

我正在开发一个应用程序,它使用谷歌地图api v3来显示标记和infowindows.

好吧,我有一个存储在一个数组中的N个标记和一个用于显示一些信息的全局信息窗口.

只需单击以这种方式创建的标记即可显示infowindow内容:

/* global js stuff */
var g_map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var g_current_popup = new google.maps.InfoWindow({ content: "" });
var g_markers = [];

/* create marker function */
function addMarker(p_infowindow_contents)
{
  var l_marker = new google.maps.Marker( all the stuff needed );
  google.maps.event.addListener(l_marker, 'click', function()  
  {  
      g_current_popup.close(); // if already open, it must be closed and reloaded
      g_current_popup.setContent(p_infowindow_contents);
      g_current_popup.open(g_map, l_marker);
  });
  g_markers.push(l_marker);
}
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作,除了一点点图形故障:当infowindow出现时,我看到infowindow'tip'位于一个未知位置十分之一秒,然后它消失了,我看到了正确的信息窗口.

看看这个截图在提示消失之前拍摄:

看看白色三角形......

有没有人经历过这样的事情?可能是一些CSS问题?

谢谢

html javascript css google-maps google-maps-api-3

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

如何将QVariant转换为自定义类?

我在QTreeWidgetItem中有一个QVariant对象,如何将它转换为我自己的对象?

c++ linux qt casting

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

QVariant和qRegisterMetaType问题

我有一个Pkg类,我需要在QVariant的形式下使用它.

在我的Pkg.h结束时,我有:

Q_DECLARE_METATYPE(Pkg)
Run Code Online (Sandbox Code Playgroud)

这不会给出编译错误,但在我的main.cpp中我必须这样做:

qRegisterMetaType<Pkg>("Pkg");
Run Code Online (Sandbox Code Playgroud)

这也不会给出错误,但是当我尝试创建一个QVariant(Pkg)时,我会遇到很多错误:

In member function 'void MainWindow::FillPackagesList()':  
mainWin.cpp:233: error: 'qRegisterMetaType' isnot a member of 'QMetaType' mainWin.cpp:234: error: no matching function for call to QVariant::QVariant(Pkg&)'                                             

/usr/lib/qt/include/QtCore/qvariant.h:208: note: QVariant::QVariant(Qt::GlobalColor)           
/usr/lib/qt/include/QtCore/qvariant.h:206: note: QVariant::QVariant(const QRegExp&)            
/usr/lib/qt/include/QtCore/qvariant.h:204: note: QVariant::QVariant(const QLocale&)            
/usr/lib/qt/include/QtCore/qvariant.h:203: note: QVariant::QVariant(const QUrl&)               
/usr/lib/qt/include/QtCore/qvariant.h:201: note: QVariant::QVariant(const QRectF&)             
/usr/lib/qt/include/QtCore/qvariant.h:200: note: QVariant::QVariant(const QRect&)          
Run Code Online (Sandbox Code Playgroud)

和错误再次错误...

linux qt kdelibs qvariant

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

在java秋千上从子框架管理父框架

我有一个jframe(父),它创建一个输入框架(子),我得到一些参数.

在"子"框架中,我有"确定"和"取消"按钮.

按下"确定"按钮时,需要使用新数据更新父框架.

最好的方法是什么?

java events swing jframe jbutton

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

在java字符串中替换正则表达式

我有这个java字符串:

String bla = "<my:string>invalid_content</my:string>";
Run Code Online (Sandbox Code Playgroud)

如何更换"invalid_content"文章?

我知道我应该使用这样的东西:

bla.replaceAll(regex,"new_content");
Run Code Online (Sandbox Code Playgroud)

为了有:

"<my:string>new_content</my:string>";
Run Code Online (Sandbox Code Playgroud)

但我无法发现如何创建正确的正则表达式

请帮忙 :)

java regex string replace

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

来自root帐户的Bash脚本和用户主目录(Linux)

我正在bash中为Linux上的应用程序编写安装脚本.

此脚本将一些文件复制到/ usr/bin和/ usr/share中,因此需要由root用户执行,此外它还会在$ HOME目录中为配置文件创建一个隐藏目录.

问题是:如果普通用户想要安装程序,他需要是root用户.但如果他是root用户,$ HOME目录将是/ root /而不是/ home/username.

linux bash scripting root

0
推荐指数
1
解决办法
2589
查看次数