小编Dan*_*erg的帖子

QTabWidget选项卡上下文菜单

我需要在单击选项卡时显示上下文菜单,并且需要对该特定选项卡作出反应.有没有办法在不进行子类化的情况下执行此操作?

c++ qt qt4 qtabwidget

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

从QChar检索Unicode代码点> U + FFFF

我有一个应用程序,应该处理各种字符,并在某些时候显示有关它们的信息.我在QChar,QString等中使用Qt及其固有的Unicode支持.

现在我需要QChar的代码点来查找http://unicode.org/Public/UNIDATA/UnicodeData.txt中的一些数据,但QChar的unicode()方法只返回一个ushort(unsigned short),这通常是是0到65535(或0xFFFF)之间的数字.有些代码点> 0xFFFF的字符,所以如何获取这些字符?是否有一些技巧我缺少或目前Qt/QChar不支持?

unicode qt codepoint astral-plane qchar

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

访问QTabWidget中选项卡的小部件

我有一个QTabWidget,每个标签都有一个QPlainTextEdit小部件.那么,我如何访问每个标签小部件?如何编辑该小部件?

qt qplaintextedit qtabwidget

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

根据样式表伪状态值绘制自定义QWidget

我有一个自定义QWidget(实际上,派生自QAbstractButton),我必须实现自己的paintEvent.如何使用样式表信息?

例如,假设某人定义了以下适用于(直接或通过继承)的样式表到我的自定义类:

QAbstractButton { font-weight: bold; background-color: red }
QAbstractButton:checked { background-color: blue }
Run Code Online (Sandbox Code Playgroud)

在我的paintEvent方法中,如何获得正确的背景颜色以显示已检查状态?

void MyButton::paintEvent(QPaintEvent */*event*/) {
  ensurePolished();  // Don't think this is necessary...
  qDebug() << Q_FUNC_INFO << isChecked();  // This is showing the right value
  QStylePainter painter(this);
  painter.fillRect(rect(), painter.background());  // always red, even if checked
}
Run Code Online (Sandbox Code Playgroud)

我想我必须这样:

if (isChecked()) {
  // painter.fillRect(rect(), ???);
  // 
  // style()->drawPrimitive(???, ...);
  //
  // QStyleOptionButton opt;
  // opt.initFrom(this);
  // QBrush bg_brush = opt.???
  // …
Run Code Online (Sandbox Code Playgroud)

qt stylesheet qwidget qabstractbutton

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

获取Qt 4.8 SDK

我有一段时间没在Windows上使用过Qt.我知道现在我们应该从Qt Project网站下载开源版本.

但是http://qt-project.org/downloads上的页面有与Qt库和Qt Creator安装程序的单独链接.我记得能够只下载完整的SDK并开始使用,但现在我必须单独安装MinGW,库和Qt Creator.

我是否仍然可以将库和Qt Creator放在一个包中,如果是,我应该在哪里看?

sdk qt qt4.8

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

在发送之前访问QNetworkRequest数据

有没有办法看到QNetworkAccessManager::post(QNetworkRequest,QByteArray)在客户端呼叫期间(或之后)发送(或已发送)的数据?

换句话说,我希望看到完整的原始HTTP请求:

POST /somepage.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 19

name=need&just=tosee
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 qtnetwork qnetworkrequest

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

如何检测窗口是否已被激活?

焦点事件不起作用,因为如果通过单击其非客户端框架激活窗口,则不会发送它们.此外,如果您单击窗口的内部组件,它们将获得焦点事件,而不是窗口,但窗口仍将被激活,即使它之前未激活或聚焦.

qt

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

无法将信号连接到main()内的函数

我知道要在类中使用Qt的信号和插槽机制,该类必须包含Q_OBJECT宏,但我试图使用信号和插槽main(),而不使用任何类.

到目前为止,这是我的代码:

#include <QApplication>
#include <QWidget>
#include <QTextEdit>
#include <QtGui>

void saveText();

int main(int argv, char **args)
 {
    QApplication app(argv, args);
    QTextEdit textEdit;
    QPushButton saveButton("Save!");
    QPushButton exitButton("Exit!");
    QObject::connect(&exitButton,SIGNAL(clicked()),qApp,SLOT(quit()));
    QObject::connect(&saveButton,SIGNAL(clicked()),qApp,SLOT(saveText()));

    QVBoxLayout vlyt;
    vlyt.addWidget(&textEdit);
    vlyt.addWidget(&exitButton);
    vlyt.addWidget(&saveButton);

    QWidget mainWindow;
    mainWindow.setLayout(&vlyt);
    mainWindow.show();

    return app.exec();
}

void saveText()
{
    exit(0);
}
Run Code Online (Sandbox Code Playgroud)

这是生成的GUI窗口:

GUI窗口

从上面的代码中,退出按钮连接到quit(),这是一个Qt函数,当点击它工作.分配给该功能的保存按钮saveText()配置为退出,但不执行此操作.

请告诉我在理解Qt中的信号和插槽时出错了.

c++ user-interface qt qt4

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

暂时禁用QTableView的UI更新

我有一个QStandardItemModel为a QTableView和一个将数据插入模型的线程提供数据.

是否可以暂时停止模型更新表视图,并在以后启用它?

qt qt4 qtableview qstandarditemmodel qt4.8

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

如何为drawText旋转文本?

我想将文字旋转45度?

QFont font;
font.setPixelSize(12);

//grid
for(int i = 0; i < 10; i++){
    painter->drawLine(100, 100 + i * 800/9, 900, 100 + i * 800/9);
    str = QString::number((double)9 - i, 'd', 1);
    painter->setFont(font);
    painter->drawText(75, 100 + i * 800/9 - 6, 40, 40, 1, str);
}
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 qpainter qt5

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