问题列表 - 第28886页

调整QT的QTextEdit大小以匹配文本高度:maximumViewportSize()

我试图在包含几个QT小部件的表单中使用QTextEdit小部件.表单本身位于QScrollArea内,该窗口是窗口的中心窗口小部件.我的意图是,任何必要的滚动都将在主QScrollArea中进行(而不是在任何小部件内部),并且内部的任何小部件将自动调整其高度以保存其内容.

我试图用QTextEdit实现高度的自动调整,但遇到了一个奇怪的问题.我创建了一个QTextEdit的子类,并重新实现了sizeHint(),如下所示:

QSize OperationEditor::sizeHint() const {
  QSize sizehint = QTextBrowser::sizeHint();
  sizehint.setHeight(this->fitted_height);
  return sizehint;
}
Run Code Online (Sandbox Code Playgroud)

this-> fitted_height通过连接到QTextEdit的"contentsChanged()"信号的插槽保持最新:

void OperationEditor::fitHeightToDocument() {
      this->document()->setTextWidth(this->viewport()->width());
      QSize document_size(this->document()->size().toSize());
      this->fitted_height = document_size.height();
      this->updateGeometry();
}
Run Code Online (Sandbox Code Playgroud)

QTextEdit子类的大小策略是:

this->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
Run Code Online (Sandbox Code Playgroud)

我在阅读这篇文章后采用了这种方法.

这是我的问题:

随着QTextEdit逐渐调整大小以填充窗口,无论sizeHint()返回什么高度,它都会停止变大并开始在QTextEdit中滚动.如果我最初让sizeHint()返回一些大的常数,那么QTextEdit非常大,并且很好地包含在外部QScrollArea中,正如人们所期望的那样.但是,如果sizeHint逐渐调整QTextEdit的大小而不是仅仅让它开始变大,那么当它填充当前窗口并开始滚动而不是增长时,它会突然出现.

我已经跟踪过这个问题,无论我的sizeHint()返回什么,它都不会将QTextEdit的大小调整为大于从QAbstractScrollArea继承的maximumViewportSize()返回的值.请注意,这与viewport() - > maximumSize()的数量不同.我无法弄清楚如何设置该值.

查看QT的源代码,maximumViewportSize()返回"视口的大小,好像滚动条没有有效的滚动范围".此值基本上计算为窗口小部件的当前大小减去(2*frameWidth +边距)加上任何滚动条宽度/高度.这对我来说没有多大意义,而且我不清楚为什么这个数字会以某种方式用于取代子类的sizeHint()实现.而且,单个"frameWidth"整数用于计算宽度和高度似乎很奇怪.

任何人都可以对此有所了解吗?我怀疑我对QT布局引擎的不了解是这里的责任.

编辑:在最初发布之后,我有想法重新实现maximumViewportSize()以返回与sizeHint()相同的东西.不幸的是,这不起作用,因为我仍然有同样的问题.

qt qtextedit

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

BitBucket Wiki:创建层次结构?

我想在我的wiki中创建一个层次结构,如下所示:

General
FooPages
    Foo1
    Foo2
    Foo3
       ODP
Bar
   Baz
Run Code Online (Sandbox Code Playgroud)

我想创建这些页面,并使用<<toc>>目录宏来组织它们.

我怎样才能做到这一点?我是否需要在自己的计算机上克隆和编辑维基,或者我可以通过网络界面专门执行此操作?

wiki bitbucket

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

使用PHP创建表并从MySQL填充

我正在创建一个要在网页上显示的表,该表是从MySQL数据库中的数据填充的.我正在尝试做一些让我很难的事情.

首先,我试图通过JavaScript调用HTML中的单独文件中存在的PHP代码.我认为我的工作正常,但我不是百分百肯定(因为表格不会显示).我认为它正常工作,因为该表的一些代码(在PHP文件中)显示在FireBug中.

其次,我试图使它成为行替代颜色,以便于查看.到目前为止我的PHP代码如下.该表在任何浏览器中都不显示.

    $query = "SELECT * FROM employees";
    $result = mysql_query($query);

    $num = mysql_num_rows($result);

    echo '<table>';

    for ($i = 0; $i < $num; $i++){
        $row = mysql_fetch_array($result);
        $id = $row['id'];
        $l_name = $row['l_name'];
        $f_name = $row['f_name'];
        $ssn = $row['ssn'];

        $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row";

        echo "<tr>";
            echo "<td class=" . $class . ">$wrap_id</td>";
            echo "<td class=" . $class . ">$wrap_l_name</td>";
            echo "<td class=" . $class . ">$wrap_f_name</td>";
            echo "<td class=" . …
Run Code Online (Sandbox Code Playgroud)

html php mysql html-table

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

简单的jquery图像更改onclick失败

我有一个失败的简单jQuery图像开关.

$('.heart_img').click(function()
    {
        var heart_type = $(this).attr('src');

        //alert( heart_type );

        if ( heart_type == 'images/unheart.png')
        {
            //alert('uheart');
            $(this).attr('src','images/heart.png');
        }
        else if ( heart_type == 'images/heart.png');
        {
            $(this).attr('src','images/unheart.png');
        }

    });
Run Code Online (Sandbox Code Playgroud)

未注释时警报会正确触发,并且图像位于正确的位置,因此我不确定问题是什么.

jquery

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

TSQL:如何使用另一个相关表中的xml标记值更新xml标记的值?

如何使用另一个相关表中的xml标记值更新xml标记的值?

这样的事情:

UPDATE v2
 SET
 [xml].modify ('replace value of (//TAG1/text())[1] 
                with "CAST(v1.[xml].query(''//TAG2'') AS NVARCHAR(MAX))"')
FROM 
 table2 v2, 
 table1 v1 
WHERE
 v2.id = v1.id
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server xquery

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

在单独的线程中使用重叠IO与文件写入进行文件写入

在Windows中使用带有重叠IO的文件写入是否有任何优势,而不仅仅是在我创建的单独线程中编写文件?

[编辑 - 请注意我在没有系统缓存的情况下进行文件写入,即我在CreateFile中使用FILE_FLAG_NO_BUFFERING标志)

c++ windows file-io

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

使HTML页面有效的价值是什么?

很久以前,当我发现W3C Validator时,我确保我制作的每个HTML文档都是有效的HTML.

但是,我认为有时候没有必要浪费时间使其有效.当然,对于实际的互联网页面可能很重要,但是当HTML页面在最常用的浏览器中正确呈现时,在Intranet上制作页面,甚至在与其他程序一起使用的前端很少(不一定计算IE 6和7).

我认为我主要讨论的是对代码的一些改进,例如将页面的每个显示元素包装起来<p><div>标记.

html w3c-validation

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

用于学习C,Unix,Linux和嵌入式系统的资源

我想学习C,UNIX和LINUX,以及有关嵌入式系统的更多信息.对他们非常感兴趣.有没有可以指导我的在线课程或网站.并建议阅读书籍以便学习它们.

谢谢你的时间.

雅请让你的答案和评论进来,它们对我来说非常宝贵.. !!

c unix linux embedded

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

是否可以在一个网站上使用多种编程语言

假设我在php中有一个简单页面的网站

page1.php
page2.php
Run Code Online (Sandbox Code Playgroud)

现在有一个页面,我想要一些详细的功能,我想使用python,它看起来像

page3.py
Run Code Online (Sandbox Code Playgroud)

而在其他页面我想用java之类的

page4.jsp
Run Code Online (Sandbox Code Playgroud)

如果我在webserver上安装了python,java.

可能吗?

php python java webserver

12
推荐指数
4
解决办法
1013
查看次数

c#将具有ctrl + z的字符串转换为常规字符串

我有一个像这样的字符串:

some_string ="SMS短信的简单演示." + Convert.ToChar(26));

什么是我最简单的摆脱char 26的方式?

请记住,有时some_string有char 26,有时它没有,它也可能在不同的位置,所以我需要知道什么是最通用和最简单的摆脱char 26的方法?

c#

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