标签: qt4

QCalendarWidget 作为“弹出窗口”,而不是作为新窗口?

我想创建一个设置小部件,我可以在其中选择一个日期。
因为创建 3 个 QLineEdits 来使用 QDate(int year, int month, int day) 调用 QDate-Constructor 不太好,所以我认为它会更好,例如,如果您可以按下“显示日历”按钮,您可以在其中选择日期。
但是我不想在新窗口中显示此日历,我想将其显示为“弹出窗口”(我不知道如何解释),例如您可能从 OpenOffice-Settings 中知道.
你知道如何实现吗?

c++ qt qt4 qwidget

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

在 QtXML (QDomElement) 中编写 XML 节点

我想写像这样的节点

<name>Peter</name> 
Run Code Online (Sandbox Code Playgroud)

(带有开始和结束标记)到 QDomDocument 中。

当我创建 QDomElements 并将它们作为子元素附加到父元素时:

QDomElement node = doc.createElement("node");
parent.appendChild(node);
Run Code Online (Sandbox Code Playgroud)

它们被添加为

<node/>
Run Code Online (Sandbox Code Playgroud)

到父元素。父级会自动获取开始和结束标记,因此文件将如下所示:

<parent>
    <node/>
</parent>
Run Code Online (Sandbox Code Playgroud)

但是我如何向我的节点添加一个值,使它看起来像我想要的(在开始和结束标记之间有值)。将一个新的 QDomElement 作为子节点添加到节点,它看起来就像 . 添加属性会显示为 ?

如果有人可以帮助我,那就太好了!谢谢!

c++ xml qt4 qtxml

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

PyQt4 - 在 QListView 中的项目上按下 Enter 键

嘿。我有一个 QListView,到目前为止我只知道如何使用已经给出的信号。当在列表中的项目 (QStandardListItem) 上按下 Enter 键时,我找不到任何信号。似乎也找不到任何 keyPressedEvents。

是否可以像这样将 QListView 与事件“挂钩”?如何?:)

谢谢

python qt4 pyqt4

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

如何告诉 QThread 等待工作完成,然后完成?

我有一个使用一个工作线程的简单应用程序。这个工作线程被启动并初始化下载管理器,它负责从网络下载文件。在我的主应用程序类中,我在 DownloadManager 完成之前发出的线程上有完成()信号。

我的问题是如何让工作线程等待 DownloadManager 完成其工作。

这是示例代码:

 class Main
 {
     m_DownloadWorker = new DownloadWorker(this);
     QObject::connect(pm_hotosDownloadWorker, SIGNAL(finished()), this, SLOT(DownloadWorkerFinished()));
     m_DownloadWorker->Execute();
     // do i need to do here something so the thread will wait ?

     .....


    void Main::DownloadWorkerFinished()
    {
        Log("DownloadWorkerFinished");
    }
 };


 class DownloadWorker : public QThread
 {
     void DownloadWorker::Execute()
     {

         // do i need to do here somthing so the thread will wait ? 
        start();
     }

     void DownloadWorker::run()
     {
         // do i need to do here somthing so the thread will …
Run Code Online (Sandbox Code Playgroud)

c++ qt4 qthread

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

Qt 与 XComposite 问题

我正在尝试编写一个简单的程序,它将所有窗口重定向到后台缓冲区(如复合管理器所做的那样),然后将它们写入像素图并保存到磁盘。但我收到了这个错误:

(.text.startup+0x5e):-1: error: undefined reference to `XCompositeRedirectSubwindows'
(.text.startup+0x171):-1: error: undefined reference to `XCompositeNameWindowPixmap'
:-1: error: collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

这是代码:

#include <QApplication>
#include <QDebug>
#include <X11/Xlib.h>
#include <QPaintDevice>
#include <QX11Info>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <X11/extensions/Xcomposite.h>
#include <X11/extensions/Xrender.h>
#include <X11/extensions/Xdamage.h>

#include <QPixmap>
#include <QWidget>

int main( int argc, char *argv[] )
{
    QApplication app( argc, argv );
    app.setGraphicsSystem("native");

    Picture frontBuffer;
    XRenderPictFormat *format;
    Window rootWindow;
    int depth;

    Display *dpy = XOpenDisplay( getenv("DISPLAY") );
    rootWindow = XRootWindow( dpy, …
Run Code Online (Sandbox Code Playgroud)

linux x11 qt qt4 xlib

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

如何为 QTableWidget 行绘制边框?

我正在尝试以QTableWidget不同的方式为行制作边框,但所有解决方案都没有响应我的要求。我想要的只是围绕整行绘制一个矩形。我有尝试QStyledItemDelegate类,但这不是我的方式,因为代表仅用于项目[行,列],而不是用于整个行或列。

这是错误的解决方案:

/// @brief ?????? ??????? ?????? ??????. 
class DrawBorderDelegate : public QStyledItemDelegate
{
public:
     DrawBorderDelegate( QObject* parent = 0 ) : QStyledItemDelegate( parent ) {}
     void paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const;

}; // DrawBorderDelegate

void DrawBorderDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const
{
     QStyleOptionViewItem opt = option;

     painter->drawRect( opt.rect );

     QStyledItemDelegate::paint( painter, opt, index );  
}
Run Code Online (Sandbox Code Playgroud)

在代码中的某处:

tableWidget->setItemDelegateForRow( row, new DrawBorderDelegate( this ) …
Run Code Online (Sandbox Code Playgroud)

qt qt4 qtablewidget

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

如何使用findChildren?

我想单击一个按钮并清除20个QLineEdits。

我正在尝试使用findChildren()并将所有QLineEdit放在QListWidget中

self.StudentAdmissionLayout = QGridLayout()
self.StudentAdmissionLayout.addWidget(self.StudentName,1,0,1,1)
Run Code Online (Sandbox Code Playgroud)

self.StudentAdmissionLayout布局上放置了所有QLineEdit。

self.myList = QListWidget()
self.Item = QListWidgetItem()
self.Item = self.StudentAdmissionLayout.findChildren(QLineEdit)
self.myList.addItem(self.Item)
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:

TypeError: arguments did not match any overloaded call:
QListWidget.addItem(QListWidgetItem): argument 1 has unexpected type 'list'
QListWidget.addItem(QString): argument 1 has unexpected type 'list'
Run Code Online (Sandbox Code Playgroud)

我试图将以上4行放在一个循环中。但是第三行不起作用,我不确定如何使它起作用。请提出建议。

python qt4 pyqt4 python-2.7

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

如何将c ++项目导入QT创建者

我在QT创建者中创建了一个项目,在VisualStudio中我创建了一个向用户发送电子邮件的c ++项目.现在我想将这个项目导入到Qt创建者中,并在我的Qt创建者项目中使用这个功能.c ++文件夹包含几个.cpp文件,头文件和make文件.我不确定如何将此项目导入QT创建者并使其运行.我试图找到一个解决方案,但找不到它.你能告诉我怎么做吗?

c++ qt qt4 qt-creator

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

QTreeView自定义行的各行高度

是否有可能重新定义某些行中某些行的行高QTreeView

我有自定义QTreeView,自定义QAbstractItemModel和自定义QStyledItemDelegate,但似乎所有sizeHint方法只调用一次(最初)或在基类中不是虚拟的.

Qt版本4.7.4,没有升级到5可能.

任何帮助赞赏.

qt qt4 qt5

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

按对话框中的QTextEdit中的Tab键 - 更改行为

我有QDialog几个按钮和一个QTextEdit.在写完东西之后QTextEdit,我按下选项卡以进入其中一个按钮,但是当我按下选项卡时,会在标签空间中添加一个标签空间QTextEdit.我该如何改变这种行为?

提前致谢

qt qt4 qdialog qtextedit

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

标签 统计

qt4 ×10

qt ×6

c++ ×4

pyqt4 ×2

python ×2

linux ×1

python-2.7 ×1

qdialog ×1

qt-creator ×1

qt5 ×1

qtablewidget ×1

qtextedit ×1

qthread ×1

qtxml ×1

qwidget ×1

x11 ×1

xlib ×1

xml ×1